日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

display block 无法显示_display:inline-block产生的问题

發布時間:2024/4/18 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 display block 无法显示_display:inline-block产生的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以前看張鑫旭大神的《css世界》有說到這個問題,沒有總結再加上很長時間沒用過,前兩天看到別人博客才回想起來,順手記錄一下。

設置display:inline-block的元素放在一起會產生間隙(簡略html代碼):

<style>li{list-style: none;display: inline-block; // 主要代碼就這一行width: 50px;background-color: red;}</style><ul><li>1</li><li>2</li><li>3</li><li>4</li></ul>

會產生下圖效果:

原因就是因為瀏覽器會處理行內元素之間的空白符(空格,回車換行等),在字體不為0的情況下,產生了“幽靈空白節點”(《css世界》里的概念)。

解決方法有幾種:

1.包裹元素設置font-size:0;子元素重新設置文字大小;

2.給子元素的:not(:first-child)設置margin-left負值 (在chrome上測試margin-left: -5px的時候上圖1和2之間的空隙沒了,234之間還有一點點,不知道咋回事);

3.給子元素設置浮動float:left(注意清除浮動);

4.標簽不換行(寫成<li>1</li><li>2</li>)。

這里引申一個面試題,全屏品字布局(主要代碼):

<style>body{margin: 0;}.top{height: 50vh;background-color: red;}.left,.right{display: inline-block;width: 50vw;height: 50vh;}.left{background-color: green;}.right{background-color: yellow;}</style><div class="top"></div><div class="left"></div><div class="right"></div>

這樣差不多就完成了,可是看一下chrome里的顯示效果:

這里就出現了“幽靈空白節點”的問題,解決方法也很簡單,body樣式里加一句font-size:0;大功告成!

body{margin: 0; font-size: 0}

參考:

使用display:inline-block會產生什么問題?解決方法? | 神三元的博客?47.98.159.95

總結

以上是生活随笔為你收集整理的display block 无法显示_display:inline-block产生的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。