position選項來定義元素的定位屬性,選項有5個可選值:static、relative、absolute、fixed、inherit 屬性值為relative、absolute、fixed時top | left | right| bottom | z-index才能起作用。 static(預設值 ...
position選項來定義元素的定位屬性,選項有5個可選值:static、relative、absolute、fixed、inherit
屬性值為relative、absolute、fixed時top | left | right| bottom | z-index才能起作用。
static(預設值)
relative(相對定位)
absolute(絕對定位)
fixed(絕對定位,絕對與window瀏覽器,低版本瀏覽器不支持如ie6和ie7)
relative和static都是相對於文檔其他元素進行定位,都屬於相對定位的範疇,區別在於一個可用控制位移,一個不能
static(預設值)
如果使用預設值,在CSS中為元素定義top、left、right、bottom、z-index都不會生效
relative
relative的變現和預設值一樣,只不過可用通過設置偏移量和z-index來控制相對於其他正常位置進行的偏移。
所有元素的定位(positon)預設值都是static,什麼都不寫就是相對定位,而使用position:relative在不設置topp、left、z-index、right、bottom值的情況下和預設值表現是一樣的。
absolute和fixed
特點:
1、塊級元素的寬度在未定義時不再為100%,而是根據內容自動調整
2、在不定義z-index的情況下,absoulte元素會覆蓋在其他元素上。
3、它會脫離正常的文檔流,不再占據空間,類似於浮動後的效果
absolute是相對上一個不為static的父元素進行絕對定位。如果不指定父元素的position,absolute將相對於整個html文檔進行絕對定位。
fixed
生成絕對定位的元素,相對於瀏覽器視窗進行定位。也就是說,不論網頁如何滾動,該元素始終停留在屏幕的某個位置。如果我們希望左側邊控制欄始終對用戶可見,就使用position:fixe來進行定位。
如果ie6和ie7不支持fixed屬性怎麼辦
解決辦法
用position:absolute
_top:expression(eval(document.documentElement.scrollTop))