網頁元素定位Position


 第九章: 網頁元素定位Position

position屬性

  • static:默認值,沒有定位
  • relative:相對定位
  • absolute:絕對定位
  • fixed:固定定位  (一般不用)

    static沒有定位,以標准流方式顯示

    relative設置相對定位的盒子會相對它原來的位置,通過指定偏移,到達新的位置。設置相對定位的盒子仍在標准流中,它對父級盒子和相鄰的盒子都沒有任何影響。

設置了position屬性值為relative的網頁元素,無論是在標准流中還是在浮動流中,都不會對它的父級元素和相鄰元素有任何影響,它只針對自身原來的位置進行偏移。

     absolute屬性值 偏移設置: left、right、top、bottom

     使用了絕對定位的元素以它最近的一個“已經定位”的“祖先元素” 為基准進行偏移。如果沒有已經定位的祖先元素,那么會以瀏覽器窗口為基准進行定位。

     絕對定位的元素從標准文檔流中脫離,這意味着它們對其他元素的定位不會造成影響。

z-index屬性

     調整元素定位時重疊層的上下位置 z-index屬性值:整數,默認值為0 設置了positon屬性時,z-index屬性可以設置各元素之間的重疊高低關系。 z-index值大的層位於其值小的層上方

     網頁中的元素都含有兩個堆疊層級,一個是未設置絕對定位時所處的環境,此時z-index是0;另一個是設置絕對定位時所處的堆疊環境,此時層的位置由z-index的值確定。

    改變設置絕對定位和沒有設置絕對定位的層的上下堆疊順序,只需調整絕對定位層的z-index值即可。

    使用opacity:x或filter:alpha(opacity=x)方式設定網頁元素的透明度。

練習:

//相對定位
<style type="text/css">
.box1,.box2,.box3{ width:100px; height:50px; border:#000 solid 1px;}
.box2{ position:relative; top:20px; left:35px;}
</style>
<body>
<div class="box1">box1</div>
<div class="box2">box2</div>
<div class="box3">box3</div>
</body>

//<title>絕對定位</title>
<style type="text/css">
.box1,.box2,.box3{ width:100px; height:50px; border:#000 solid 1px;}
.box2{ position:absolute; top:20px; left:40px;}
</style>
<body>
<div class="box1">box1</div>
<div class="box2">box2</div>
<div class="box3">box3</div>
</body>

//z-index對比
<style type="text/css">
*{ margin:0; padding:0;}
.main{ width:200px; height:170px; position:relative; border:#000 solid 2px;}
.box1{ width:100px; height:100px; background:#F00; position:absolute; top:20px; left:20px;}
.box2{ width:100px; height:100px; background:#0F0; position:absolute; top:40px; left:40px;}
.box3{ width:100px; height:100px; background:#00F; position:absolute; top:60px; left:60px;}
</style>
<body>
<div class="main">
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
</div>
</body>

// z-index對比
<style type="text/css">
*{ margin:0; padding:0;}
.main{ width:200px; height:170px; position:relative; border:#000 solid 2px;}
.box1{ width:100px; height:100px; background:#F00; position:absolute; top:20px; left:20px; z-index:1;}
.box2{ width:100px; height:100px; background:#0F0; position:absolute; top:40px; left:40px;}
.box3{ width:100px; height:100px; background:#00F; position:absolute; top:60px; left:60px;}
</style>
<body>
<div class="main">
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
</div>
</body>

  

 


免責聲明!

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



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