position屬性用來規定元素的定位類型和方式
①position:static 默認值,沒有定位,元素出現在正常的流中;
②position:fixed 固定定位 是相對於瀏覽器窗口來進行定位;
③position:relative 相對定位 相對於其本身正常位置來進行定位,它原本所占的空間仍保留;
④position:absolute 絕對定位 相對於定位方式不是static的第一個父元素進行定位(往上尋找參照元素,一直到根元素為止,即body),此時元素原先在正常
文檔流中所占的空間會關閉,就像元素原來不存在一樣,絕對定位后會生成一個塊級框,而不管它原先在正常流中是何種類型。
選好定位方式后可通過設置 top/right/bottom/left 來設置元素位置,但是對static無用,static定位下是靠margin來移動位置。
注意:當元素設置position:absolute后,再想用 margin:0px auto; 來使元素水平居中是無效的,可進行如下設置:
<style> .s1{width:100%;height:100%;background:red;position:relative;} .s2{background:yellow;width:300px;height:100px;position:absolute; left:50%;margin-left:-150px;//是讓元素到其相對定位的父元素左邊的距離為該父元素寬度的50%,這時左邊邊界正好在父元素的中間線上,再左移寬度的一半正好居中,即再設置margin-top:-150px可使其水平居中 top:50%;margin-top:-50px;//與上述原理相同,設置后可垂直居中} </style> <body> <div class="s1"> <div class="s2"> 水平居中 </div> </div> </body>