DIV布局之position詳解


相對定位和絕對定位

定位標簽:position 
包含屬性:relative(相對) absolute(絕對) 
1.position:relative; 如果對一個元素進行相對定位,首先它將出現在它所在的位置上。然后通過設置垂直或水平位置,讓這個元素"相對於"它的原始起點進行移動。(再一點,相對定位時,無論是否進行移動,元素仍然占據原來的空間。因此,移動元素會導致它覆蓋其他框)

2.position:absolute; 表示絕對定位,位置將依據瀏覽器左上角開始計算。 絕對定位使元素脫離文檔流,因此不占據空間。普通文檔流中元素的布局就像絕對定位的元素不存在時一樣。(因為絕對定位的框與文檔流無關,所以它們可以覆蓋頁面上的其他元素並可以通過z-index來控制它層級次序。z-index的值越高,它顯示的越在上層。)

3.父容器使用相對定位,子元素使用絕對定位后,這樣子元素的位置不再相對於瀏覽器左上角,而是相對於父窗口左上角

4.相對定位和絕對定位需要配合top、right、bottom、left使用來定位具體位置,這四個屬性只有在該元素使用定位后才生效,其它情況下無效。另外這四個屬性同時只能使用相鄰的兩個,不能即使用上又使用下,或即使用左,又使用右。

 

下面是一個DIV內多個DIV的相對絕對布局:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <title>testdiv.html</title>
    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3" />
    <meta http-equiv="description" content="this is my page"/>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    
    <script type="text/javascript">
        window.onload = function(){
            document.getElementById("mydiv").style.height = "200px";
        };
    </script>
  </head>
  
  <body>
      關鍵因素:外層加position:relative,里面的div使用position: absolute,<br />
      但這種方法的問題有:外層的div必須指定具體的height,高度不能使用百分比
   <!--  <div style="position:relative;width: 600px;height:500px;">
        <div style="width: 100px;height: 50px; position: absolute;right:10px;bottom: 10px"></div>
    </div> -->
    
     <div id="mydiv" style="position:relative;width: 100%;height:auto;">
        <div style="width: 100px;height: 50px; position: absolute;right:10px;bottom: 10px"></div>
        <div style="width: 100px;height: 50px; position: absolute;left:10px;bottom: 10px"></div>
    </div>
  </body>
</html>

 

效果圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM