国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

css解決display:inline-block;產生的縫隙(間隙)的方法

2024-07-11 08:41:12
字體:
來源:轉載
供稿:網友

今天在做H5的水平滑動卡片時用到了display:inline-block;卻發現處在同一水平線上的元素之間居然產生了縫隙,這很顯然不是我想要的效果,所以我就換成了左浮動,這樣縫隙的問題是解決了,但是需要設置父元素的寬度才能實現水平左右滾動,這樣又增加了代碼量,因為卡片的個數不固定,需要實時設置其父元素的寬度,就要用到js,所以代碼量增加了,也不是最好的選擇。看來最好的解決辦法就是用到display:inline-block;了,于是縫隙的問題就出現了。代碼如下:

<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><title>document</title><style>*{margin:0;padding:0;}.box{overflow-x:auto;background:#fff;white-space:nowrap;}.box span{display:inline-block;width:100px;height:30px;line-height:30px;text-align:center;background:#f00;color:#fff;}</style></head><body><div class="box">    <span>111</span>    <span>111</span>    <span>111</span>    <span>111</span></div></body></html>

效果如下:

這個縫隙很明顯存在,據說這種表現是符合規范的應該有的表現,是換行造成的空白符導致的。但這效果很顯然不是我們想要的,我們想要的縫隙是我們根據自己的實際需求而設置的邊距。那么該如何消除產生的這個縫隙呢?辦法有三:

 方法一:元素之間不換行,代碼如下:

<div class="box">  <span>111</span><span>111</span><span>111</span><span>111</span></div>

效果如下:

方法二:給其父元素設置font-size:0;給其自身設置實際需要的字號大小。不好的地方就是有些瀏覽器有設置最小字體,像chrome和opera,但是現在的chrome好像沒有這個設置了,代碼如下:

css:

.box{overflow-x:auto;background:#fff;white-space:nowrap;font-size:0;}.box span{display:inline-block;width:100px;height:30px;line-height:30px;text-align:center;background:#f00;color:#fff;font-size:14px;}

html:

<div class="box">    <span>111</span>    <span>111</span>    <span>111</span>    <span>111</span></div>

效果如下:

方法三:負margin方法,需要注意的是這個間隙跟字號大小有關系的,所以間隙不是個確定值。

以上三種方法,前兩種是比較好的解決辦法,第三種方法不推薦使用。網上還有其他的解決辦法,但我認為還是前兩種比較好。

PS:

結合廣大前端大神的評論建議來看,也可以給其父元素設置display:flex來消除縫隙,且代碼量少了,但是用在我的水平滑動卡片的效果中導致所有的元素都處在了可視窗口中,就不能實現水平左右滑動了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴中市| 遂溪县| 彭州市| 海丰县| 卓尼县| 石嘴山市| 芦溪县| 建宁县| 永宁县| 天水市| 深圳市| 朔州市| 耒阳市| 景东| 昌宁县| 攀枝花市| 仙桃市| 嫩江县| 葵青区| 临澧县| 玉龙| 苏尼特左旗| 榆树市| 壤塘县| 田东县| 辰溪县| 左贡县| 广德县| 阳山县| 孝义市| 临沂市| 碌曲县| 丹寨县| 东乡族自治县| 含山县| 通榆县| 东兴市| 崇阳县| 民县| 乃东县| 抚州市|