91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CSS中如何使用display: inline-block

發布時間:2020-10-10 18:04:48 來源:億速云 閱讀:165 作者:小新 欄目:web開發

小編給大家分享一下CSS中如何使用display: inline-block,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

迷之間隙

我們創建一個導航列表,并將其列表 item 設置為 inline-block,主要代碼如下:

<div class="nav">
  <div class="nav-item"><a>我</a></div>
  <div class="nav-item"><a>我</a></div>
  <div class="nav-item"><a>我</a></div>
</div>
.nav {
  background: #999;
}
.nav-item{
  display:inline-block; /* 設置為inline-block */
  width: 100px;
  background: #ddd;
}

效果圖如下:

CSS中如何使用display: inline-block

我們從效果圖中可以看到列表 item 之間有一點小空隙,但是我們在代碼中并沒有設置 margin 水平間距。那么這個空隙是如何產生的呢?

這是因為我們編寫代碼時輸入空格、換行都會產生空白符。而瀏覽器是不會忽略空白符的,且對于多個連續的空白符瀏覽器會自動將其合并成一個,故產生了所謂的間隙。

對于上面實例,我們在列表 item 元素之間輸入了回車換行以方便閱讀,而這間隙正是這個回車換行產生的空白符。

同樣對于所有的行內元素(inline,inline-block),換行都會產生空白符的間隙。

如何消除空白符

從上面我們了解到空白符,是瀏覽器正常的表現行為。但是對于某些場景來說,并不美觀,而且間隙大小非可控,所以我們往往需要去掉這個空白間隙。一般來說我們有兩種方法來去掉這個換行引起間隙:代碼不換行和設置 font-size。

代碼不換行

我們了解到,由于換行空格導致產生換行符,因此我們可以將上述例子中的列表 item 寫成一行,這樣空白符便消失,間隙就不復存在了。其代碼如下:

<div class="nav">
  <div class="nav-item">導航</div><div class="nav-item">導航</div><div class="nav-item">導航</div>
</div>

但考慮到代碼可讀及維護性,我們一般不建議連成一行的寫法。

設置 font-size

首先要理解空白符歸根結底是個字符,因此,我們可以通過設置 font-size 屬性來控制產生的間隙的大小。我們知道如果將 font-size 設置為 0,文字字符是沒法顯示的,那么同樣這個空白字也沒了,間隙也就沒了。

于是順著這個思路就有了另一個解決方案:通過設置父元素的 font-size 為 0 來去掉這個間隙,然后重置子元素的 font-size,讓其恢復子元素文字字符。

所以該方法代碼如下:

.nav {
  background: #999;
  font-size: 0; /* 空白字符大小為0 */
}
.nav-item{
  display:inline-block;
  width: 100px;
  font-size: 16px; /* 重置 font-size 為16px*/
  background: #ddd;
}

使用該方法時需要特別注意其子元素一定要重置 font-size,不然很容易掉進坑里(文字顯示不出來)。

對齊問題

由于 inline-block 屬于行內級元素,所以 vertical-align 屬性同樣對其適用。

在正式講解 vertical-align 之前,我們需要先說一些基本概念。

中線、基線、頂線、底線

中線(middle)、基線(baseline)、頂線(text-top、底線(text-bottom))是文本的幾個基本線,其對應位置如下圖:

  • 基線(base line):小寫英文字母x的下端沿。

  • 中線(middle line):小寫英文字母x的中間。

  • 頂線(text-top):父元素 font-size 大小所組成的一個內容區域的頂部

  • 底線(text-bottom):父元素 font-size 大小所組成的一個內容區域的底部

  • vertical-align 的值

vertical-align 只接受8個關鍵字、一個百分數值或者一個長度值。下面我們將看看各關鍵字如何作用于行內元素。

  1. baseline    默認元素的基線與父元素的基線對齊。

  2. sub    將元素的基線與其父元素的下標基線對齊。

  3. super    將元素的基線與其父代的上標 - 基線對齊。

  4. text-top    將元素的頂部與父元素的字體頂部對齊。

  5. text-bottom    將元素的底部與父元素的字體的底部對齊。

  6. middle    將元素的中間與基線對齊加上父元素的x-height的一半。

  7. top    將元素的頂部和其后代與整行的頂部對齊。

  8. bottom    將元素的底部和其后代與整行的底部對齊。

  9. <length>    將元素的基線對準給定長度高于其父元素的基線。

  10. <percentage>    像<長度>值,百分比是line-height屬性的百分比

看完了這篇文章,相信你對CSS中如何使用display: inline-block有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

富川| 岳西县| 罗江县| 铜陵市| 拜泉县| 彰武县| 二连浩特市| 阿合奇县| 南宁市| 怀集县| 罗源县| 襄汾县| 庄浪县| 姜堰市| 聂荣县| 西丰县| 临泉县| 万州区| 尼勒克县| 新乡县| 永德县| 乌拉特后旗| 石阡县| 灌阳县| 钟祥市| 凤冈县| 阳新县| 栖霞市| 枞阳县| 襄垣县| 伽师县| 西畴县| 鄄城县| 白城市| 方山县| 洛扎县| 石门县| 吴桥县| 四会市| 若羌县| 含山县|