現象:子元素加float:left以後父元素div下移了
原因:子元素加上float,父元素高度坍塌(我也想不通坍塌為什麼會下移)總之要麼給父元素足夠的高度,或者用其他原因撐開高度
通用的四種方法如下:
(1)給父級元素添加一個高度(不推薦)
此方法中高度無法确認,需要多次嘗試設定,如果像我一樣沒有父元素背景顔色,随便給父元素一個高度就恢複了,但是如果涉及背景顔色且子元素高度不确定的就不友善了
(2)<divstyle=“clear:both;”>
在最後一個子元素後加一個空的div,給他添加樣式clear,清除兩側浮動;這種方法也很有效,但是加了一個空的div,造成代碼的備援
(3)父級元素設定overflow:hidden;
overflow有一點不好,在有下拉菜單的時候,下拉菜單會顯示不出來。
(4)父級元素添加after僞類;(推薦),
沒有任何副作用,對檔案中的其他元素沒有任何影響,在需要防止父級邊框的元素中,給它的class值中添加clear就行了
.parent:after{
content:"";
display:block;
clear:both;
}