如下圖,1、2、3三個元素左浮動,虛線爲父容器,此時再添加一個左浮動的元素4,總寬度超出了父元素寬度,那麼4號元素的位置應該是這樣的?
它的位置不是A也不是B:
浮動元素的位置,其實只參考前一個元素的位置即可。所以元素4的位置只需考慮元素3的位置即可,如下:
我們換一下位置,同理可以得到如下結果(只需考慮元素1的位置):
PS:
- float屬性會導致父元素的高度塌陷,解決方法可查看:CSS float浮動規則以及父元素高度塌陷的解決方法
- 浮動元素的重疊問題:
- 浮動元素不會覆蓋文字內容
- 浮動元素不會覆蓋圖片內容(因爲圖片本身也屬於文本,可以把圖片看做是一個特殊的文字)
- 浮動元素不會覆蓋表單元素(輸入框、單選按、複選框、按鈕、下拉選擇框等)