同時設置float屬性不起做用javascript
生成相對定位的元素,相對於其正常位置進行定位css
生成絕對定位的元素,相對於瀏覽器窗口進行定位html
默認值。沒有定位,元素出如今正常的流中java
生成絕對定位的元素,相對於 static 定位之外的第一個父元素進行定位,若是元素沒有擁有position屬性的父級元素會根據<html>標籤也就是頁面的根節點進行定位瀏覽器
殺了個回馬槍,仍是說說position:sticky吧wordpress
語法:code
clear: none | left | right | both
取值:htm
none: 默認值。容許兩邊均可以有浮動對象 left: 不容許左邊有浮動對象 right: 不容許右邊有浮動對象 both: 不容許有浮動對象
由於float會破壞inline-box,因此致使父元素高度爲0。
額外標籤法
<div style="clear:both;"></div>(缺點:不過這個辦法會增長額外的標籤使HTML結構看起來不夠簡潔。)
使用after僞元素
該方法中必須爲須要清除浮動元素的僞對象中設置 height:0,不然該元素會比實際高出若干像素對象
.parent{ zoom: 1 } .parent:after { content:"."; height:0; line-height: 0; visibility:hidden; display:block; clear:both; }
overflow + zoom方法(zoom, IE獨有屬性)ip
.fix{ overflow:hidden; zoom:1; }
有問題的,就是這個overflow:hidden,要是裏面的元素要是想來個margin負值定位或是負的絕對定位,豈不是直接被裁掉了,因此此方法是有不小的侷限性的
float稍微複雜點