css中的display屬性用于定義一個html元素應如何顯示。它有6個預設值:
display: block; //元素將被顯示為塊級元素,占據(jù)整個父容器的寬度 display: inline; //元素將被顯示為行內(nèi)元素,只占據(jù)所需的寬度 display: inline-block; //元素將被顯示為行內(nèi)塊級元素,占據(jù)所需的寬度,但可以設置寬高和內(nèi)邊距等屬性 display: none; //元素不被顯示,占據(jù)0的寬度和高度,DOM中仍存在 display: table; //元素被顯示為表格元素 display: flex; //元素使用彈性布局,常用于響應式設計和自適應網(wǎng)頁設計
display: block會將元素顯示為塊級元素,它的特點是:
1. 總是在新行上開始 2. 高度、寬度、邊距和內(nèi)邊距都可控制 3. 寬度默認是它的父元素的100%
display: inline會將元素顯示為行內(nèi)元素,它的特點是:
1. 和其他行內(nèi)元素在一行上 2. 只有內(nèi)容區(qū)域有寬度和高度,padding和margin對豎直方向不起作用,對水平方向起作用 3. 寬度就是它的內(nèi)容的寬度,不可改變
display: inline-block將元素顯示為行內(nèi)塊級元素,它的特點是:可以像塊級元素一樣設置寬度、高度、padding、margin等屬性,同時又像行內(nèi)元素一樣在一行內(nèi)顯示。
display: none會將元素隱藏,它不占用空間,但在DOM中仍存在。相較于visibility: hidden,使用display: none可以完全的隱藏DOM元素,因此對SEO更友好。
display: table將元素顯示為表格元素,它的特點是可以模擬一個表格,但語義上不是真正的表格元素。
1. 整個表格會像一個塊級元素一樣顯示 2. 表格的行默認都是均勻分配的 3. 單元格的寬度比例由單元格內(nèi)容的寬度決定,并不是全部均勻分配
display: flex是一個彈性布局,常常用于響應式設計和自適應網(wǎng)頁設計。
上一篇css僵尸服