float浮動引發的特殊效果:
1、父元素中,如果顯示不下所有的已浮動子元素,最後一個會換行,有可能會被卡住
2、元素一旦浮動起來之後,元素寬度將由內容來決定(非指定情況下)
3、元素一旦浮動起來之後,那麼都將變成塊級元素,尤其對行內元素影響較大
塊級元素:允許修改尺寸
行內元素:不能修改尺寸
4、文本,行內元素,行內塊元素 是採用環繞的方式來排列的,不會被浮動元素壓在低下,而會巧妙的避開浮動元素
清除浮動:屬性:clear:none/ left/ right/both
@清除浮動所帶來的影響:
元素一旦浮動起來,會對後面的元素帶來位置的影響,如果後面的元素不想被影響的話,可以通過 "清除" 的方式 來解除影響
@浮動元素對父元素的影響:
由於浮動元素會脫離文檔流,所以會導致元素不佔據空間.如果一個元素中所有的子元素全部都是浮動的,那麼該元素的高度就是 0 ,父元素的高度,是以未浮動元素的高度爲準
解決方案:
1、直接設置父元素的高度
弊端:必須要知道父元素的高度
2、設置父元素也浮動
弊端:對後續元素時有位置影響的
3、爲父元素設置 overflow 取值爲 hidden 或 auto
弊端:如果有要溢出顯示的內容,也一同被隱藏
4、第一種:在父元素的最後一個子元素位置處,增加 一個空塊級元素,並且設置其 clear:both:
5.第二種方法:
#d0:after{
content: "";
display: block;
clear: both;}
1、最後一個子元素位置處添加一個空的div,如父元素id爲#d0
爲父元素添加 :after(內容生成屬性)
2、空子元素:生成空元素
content:"";
3、設置塊級元素
display:block;
4、清除clear:both
clear:both;