CSS position
通過使用 position 屬性,我們可以選擇 4 種不同類型的定位,這會影響元素框生成的方式。
position 屬性值的含義:
- static
- 默認。位置設置為 static 的元素,它始終會處于頁面流給予的位置(static 元素會忽略任何 top、bottom、left 或 right 聲明)。
- 元素框正常生成。塊級元素生成一個矩形框,作為文檔流的一部分,行內元素則會創建一個或多個行框,置于其父元素中。
- relative
- 位置被設置為 relative 的元素,可將其移至相對于其正常位置的地方,因此 "left:20" 會將元素移至元素正常位置左邊 20 個像素的位置。
- 元素框偏移某個距離。元素仍保持其未定位前的形狀,它原本所占的空間仍保留。
- absolute
- 位置設置為 absolute 的元素,可定位于相對于包含它的元素的指定坐標。此元素的位置可通過 "left"、"top"、"right" 以及 "bottom" 屬性來規定。
- 元素框從文檔流完全刪除,并相對于其包含塊定位。包含塊可能是文檔中的另一個元素或者是初始包含塊。元素原先在正常文檔流中所占的空間
- 會關閉,就好像元素原來不存在一樣。元素定位后生成一個塊級框,而不論原來它在正常流中生成何種類型的框。
- fixed
- 元素框的表現類似于將 position 設置為 absolute,不過其包含塊是視窗本身。
- 位置被設置為 fixed 的元素,可定位于相對于瀏覽器窗口的指定坐標。此元素的位置可通過 "left"、"top"、"right" 以及"bottom" 屬性來規定。
- 不論窗口滾動與否,元素都會留在那個位置。工作于 IE7(strict 模式)。
提示:相對定位實際上被看作普通流定位模型的一部分,因為元素的位置相對于它在普通流中的位置。
實例
本例把元素位置由相對改為絕對:
<html> <head> <style type="text/css"> input { position:relative; } </style> <script type="text/javascript"> function setPositionAbsolute() { document.getElementById("b1").style.position="absolute"; document.getElementById("b1").style.top="10px"; } </script> </head> <body> <p>This is an example paragraph</p> <p>This is an example paragraph</p> <input type="button" id="b1" onclick="setPositionAbsolute()" value="Set button position to be absolute" /> </body> </html>
浙公網安備 33010602011771號