position有以下屬性:static、inherit、fixed、absolute、relative
前三個好理解好區分:
static :是預設狀態,沒有定位,元素出現在正常的流中(忽略top, bottom, left, right 或z-index 宣告)。
nherit:從父元素繼承 position 屬性的值。
fixed:產生絕對定位的元素,相對於瀏覽器視窗進行定位。 (即滾動瀏覽器的時候,元素永遠固定顯示在視窗視覺區的某個位置)。
比較常用而且會引起初學者迷惑的是absolute和relative,它兩個有什麼分別呢?
一、先來看看W3C給的概念
absolute:產生絕對定位的元素,相對於 static 定位以外的第一個父元素進行定位。
relative:產生相對定位的元素,相對於其正常位置進行定位。
兩者最核心的差別在於:absolute不受父元素裡的其他元素影響,而relative會受到父元素裡的其他元素影響。
二、一張圖看懂absolute、relative的差異
#程式碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> html,body,div,p{ margin: 0; padding: 0; } #baba { position: absolute; left: 50px; top:50px; width: 300px; height: 300px; background: blue; } #baba p{ background:lightblue; } #erzi { position: absolute; left: 50px; top:50px; width: 200px; height: 200px; background: yellow; } </style> </head> <body id="body"> <div id="baba"> <p></p> <div id="erzi"> <p></p> </div> </div> <script> var baba=document.getElementById("baba"), erzi=document.getElementById("erzi"); baba.children[0].innerHTML="我是"+baba.id; erzi.children[0].innerHTML="我是"+erzi.id; </script> </body> </html>
以上是解析css的position裡的relative和absolute的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!