元素的顯示方式css
隱藏,且不佔空間html
{display:none}
複製代碼
另外一種隱藏的方式 {visibility :hidden}segmentfault
設置元素爲行內元素瀏覽器
{display:inline}
複製代碼
設置了該屬性以後設置高度、寬度都無效,同時text-align
屬性設置也無效,可是設置了line-height
會讓inline
元素居中佈局
例:兩個塊元素div
(div爲塊元素,默認display爲block)post
.display1 {
border: 1px solid;
width: 50px;
text-align: center;
}
複製代碼
<div class="display1">div 1</div>
<div class="display1">div 2</div>
複製代碼
效果:顯示在兩行 flex
{display: inline;}
複製代碼
效果:添加屬性inline後,兩個出如今同一行 spa
注:發現div1和div2之間出現奇怪間隔。緣由:div換行產生的換行空白。解決方法:兩個div寫在一行3d
默認爲inline的元素:span、a、label、input、 img、 strong 和em就是典型的行內元素元素。code
設置元素爲塊狀元素 若是不指定寬高,默認會繼承父元素的寬度,而且獨佔一行,即便寬度有剩餘也會獨佔一行,高度通常以子元素撐開的高度爲準,固然也能夠本身設置寬度和高度。
例:兩個行內元素span(div爲塊元素,默認display爲inline)
.display2 {
border: 1px solid;
text-align: center;
}
複製代碼
<span class="display2">span 1</span>
<span class="display2">span 2</span>
複製代碼
效果:顯示在同一行
添加屬性
{display: block;}
複製代碼
效果:顯示在同一行
會把元素做爲列表顯示
例:
.display3 {
display: list-item;
}
複製代碼
<div>
<span class="display3">span 1</span>
<span class="display3">span 2</span>
<span class="display3">span 3</span>
</div>
複製代碼
效果:
爲div添加padding-left: 30px,能夠看到前面的點。由於默認的列表以前的·在box外面 效果:
inline-block既具備block的寬高特性又具備inline的同行元素特性 (CSS 2.1 新增)
例:
.display4 {
display: inline-block;
height: 100px;
width: 100px;
text-align: center;
color: #FFFFFF;
background-color: #27ad9a;
line-height: 100px;
}
複製代碼
<div>
<div class="display4">div 1</div>
<div class="display4">div 2</div>
<div class="display4">div 3</div>
</div>
複製代碼
效果:
做爲塊級表格來顯示(相似table),表格先後帶有換行符。 使用基於表格的CSS佈局,使咱們可以輕鬆定義一個單元格的邊界、背景等樣式, 而不會產生由於使用了table那樣的製表標籤所致使的語義化問題。
例:
.display5 {
display: table;
border-collapse: collapse;
}
.display5_tr {
display: table-row;
}
.display5_td {
padding: 5px;
display: table-cell;
border: 1px solid;
}
複製代碼
<div class="display5">
<div class="display5_tr">
<div class="display5_td">header 1</div>
<div class="display5_td">header 2</div>
<div class="display5_td">header 3</div>
</div>
<div class="display5_tr">
<div class="display5_td">content 1-1</div>
<div class="display5_td">content 1-2</div>
<div class="display5_td">content 1-3</div>
</div>
<div class="display5_tr">
<div class="display5_td">content 2-1</div>
<div class="display5_td">content 2-2</div>
<div class="display5_td">content 2-3</div>
</div>
</div>
複製代碼
效果:
彈性佈局 經常使用的佈局屬性,能夠解決大部分佈局。 主要屬性有兩大類:容器屬性和項目的屬性
(跟以前在RN中寫的flex-box類似,就不詳細描述了。詳細用法參考Flex 佈局教程:語法篇)
注:設爲Flex佈局之後,子元素的float、clear和vertical-align屬性將失效。
在熟悉display的使用以後,平常的佈局基本都能解決。 (多數佈局均可以經過flex解決)
相關閱讀
有錯誤之處,感謝指出,接收批評