本篇文章主要介紹元素的Position屬性,此屬性可以設置元素在頁面的定位方式。
目錄
1. 介紹 position:介紹position的值以及輔助屬性。
2. position 定位方式:介紹position的四種定位方式:絕對、相對、固定、默認。
3. 總結 position:以示例的方式展示position。
1. 介紹
1.1 說明
Position 屬性:規定元素的定位類型。即元素脫離文檔流的布局,在頁面的任意位置顯示。
1.2 主要的值
①absolute :絕對定位;脫離文檔流的布局,遺留下來的空間由后面的元素填充。定位的起始位置為最近的父元素(postion不為static),否則為Body文檔本身。
②relative :相對定位;不脫離文檔流的布局,只改變自身的位置,在文檔流原先的位置遺留空白區域。定位的起始位置為此元素原先在文檔流的位置。
③fixed :固定定位;類似於absolute,但不隨着滾動條的移動而改變位置。
④static :默認值;默認布局。
1.3 輔助屬性
position屬性只是使元素脫離文檔流,要想此元素能按照希望的位置顯示,就需要使用下面的屬性(position:static不支持這些):
①left : 表示向元素的左邊插入多少像素,使元素向右移動多少像素。
②right :表示向元素的右邊插入多少像素,使元素向左移動多少像素。
③top :表示向元素的上方插入多少像素,使元素向下移動多少像素。
④bottom :表示向元素的下方插入多少像素,使元素向上移動多少像素。
上面屬性的值可以為負,單位:px 。
2. position 定位方式
2.1 position:absolute
2.1.1 說明
絕對定位;脫離文檔流的布局,遺留下來的空間由后面的元素填充。定位的起始位置為最近的父元素(postion不為static),否則為Body文檔本身。
2.1.2 視圖
2.2 position:relative
2.2.1 說明
相對定位;不脫離文檔流的布局,只改變自身的位置,在文檔流原先的位置遺留空白區域。定位的起始位置為此元素原先在文檔流的位置。
2.2.2 視圖
2.3 position:fixed
2.3.1 說明
固定定位;類似於absolute,但不隨着滾動條的移動而改變位置。
2.3.2 視圖
2.3.3 應用場景
①登錄框覆蓋層:如dz論壇的登錄。
②虛假QQ消息廣告。
2.4 position:static
2.4.1 說明
默認定位,表示此元素為默認定位方式。
2.4.2 應用場景
IE6的特殊處理。
3. 總結
3.1 滾動條是否出現
當含有position屬性的元素為最邊緣元素時:
①absolute 和 relative :含有此2個值的邊緣元素,瀏覽器縮小到此元素不可見時,會出現滾動條。
②fixed :含有此值的邊緣元素,瀏覽器縮小到此元素不可見時,不會出現滾動條。
3.2 示例
3.2.1 視圖
3.2.2 代碼
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>position</title> <style type="text/css"> div { height: 200px; width: 300px; border-color: Black; border-style: solid; border-width: 1px; } #a { position:absolute; left:900px; top:150px; } #b { position:relative; left:500px; top:100px; } #c { position:fixed; left:970px; top:400px; } #d { position:static; background-color:Window; } </style> </head> <body> <div id="a" > div-a<br /> position:absolute;<br /> 絕對定位;脫離文檔流,遺留空間由后續元素填充。 </div> <div id="b" > div-b<br /> position:relative;<br /> 相對定位;不脫離文檔流,只改變自身的位置,在文檔流原先的位置遺留空白區域。 </div> <div id="c" > div-c<br /> position:fixed;<br /> 固定定位;固定在頁面中,不隨瀏覽器的大小改變而改變位置。 </div> <div id="d"></div> <input type="text" value="input1" /> <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> </body> </html>