浮動就是讓咱們的元素脫離標準文檔流,目的是爲了佈局好看!
浮動的現象:
-
脫離標準文檔流被叫作脫流,同時會出現字圍現象。
-
浮動的元素會相互貼靠,並且若是父容器空間足夠大,則浮動的元素會正常緊靠也就是後一個元素會緊靠前一個元素。若是父容器空間不夠大,那麼元素會找上級的上級去緊靠,若是還找不到則繼續找上級緊靠,沒有了上級可靠那就靠邊。
-
浮動的元素不分塊級和行內類別,也就是說均可以設置寬高可邊距。
-
浮動之後,同一行內的元素以頂邊做爲基線對齊。
爲何浮動會帶來影響??????
由於浮動元素不佔父標籤的高度內容,會致使父標籤高度的減小,以及標準文檔流光標的上移css
解決的核心入手點?
(1)固定父標籤高度 (2)固定光標位置佈局
清楚的方法
(1)父標籤設置高度
好處:兩個核心點都解決了
壞處:一。咱們之後不多給div固定死高度 二。不容易計算高度spa
(2)內牆法 clearboth
是加到不想上移的標籤身上
壞處:不會增長因浮動致使縮小高度的標籤增長高度文檔
(3)overflowit
主業:超出隱藏部分
副業:幫助本標籤清除浮動帶來的影響table
(4
)
第四種:使用僞元素的方式,:after、:before
-
使用方法:
.clearfix:after{
content:"", 這是僞元素添加的內容
display:block,
clear:both, 清除浮動
height:0,
visibility:hidden 不顯示出來
}
.clearfix{
*zoom:1;爲了兼容IE六、7
}
使用方法:
.clearfix:before, .clearfix:after {
content: "";
display: table;
}
.clearfix:after {
clear: both;
}
.clearfix {
*zoom: 1; /*IE/7/6*/
}
區別僞類與僞元素:
僞類::link :visited :hover :active love hate 注意:咱們在使用時必定要遵照lvha原則
:focus :first-child :last-child等等
僞元素::after :before :first-line :first-letter
僞類:用於給某一個元素修改css屬性,能夠當作是給該元素添加了一個類選擇器樣式
僞元素:用於給某個元素添加內容及css屬性樣式,能夠當作是在該元素內又加了一個元素