定位:position
position 屬性把元素放置到一個靜态的、相對的、絕對的、或固定的位置中。
屬性 | 解釋 |
---|---|
inherit | 從父元素繼承position屬性的值 |
static | 預設的普通流 |
relative | 相對定位,相對于元素本身正常位置(相對于static)進行定位 |
absolute | 絕對定位,相對于第一個祖先元素進行定位 |
fixed | 絕對(固定)定位,相對于浏覽器視窗定位 |
元素與文檔流的關系:
屬性 | 關系 |
---|---|
relative | 相對定位時,無論元素是否移動,元素在文檔流中占據且隻占據原來的空間(普通流的空間) |
absolute | 絕對定位時,元素脫離普通流,定位與文檔流無關 |
fixed | 脫離普通文檔流,固定在浏覽器視窗某個位置 |
注意:使用絕對定位時,若想相對于某個父元素位置定位,需要給父元素添加屬性:position:relative;因為absolute是相對于 static 定位以外的第一個父元素進行定位的。
浮動:float
浮動性質:
當區域塊寬度不夠時,浮動元素自動下挪;
浮動會讓元素脫離文檔流,但并非完全脫離: 元素甲添加浮動left後,後面的非浮動元素乙占據了甲的位置,與甲重合,但是乙元素的文本内容會受浮動元素的影響并移動以留出空間。
浮動前:
浮動後:注意文本位置的變化。
clear屬性:
屬性 | 解釋 |
---|---|
none | 預設值,允許兩邊都可以有浮動對象; |
left | 不允許左邊有浮動對象 |
right | 不允許右邊有浮動對象 |
both | 不允許有浮動對象 |
對于CSS的清除浮動(clear),一定要牢記:這個規則隻能影響使用清除的元素本身,不能影響其他元素
overflow:hidden
根據屬性名字來看,hidden應該是隐藏超過區域塊元素(一般是float元素)的内容;但是當外層區域沒有設定高度時,使用overflow:hidden會擴充外層區域框的高度,直到把内層元素包含進去。