相對定位與絕對定位

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title></title>
  <style>
   #test1{
    width:400px;
    height:400px;
    background:green;
   }
   p{
    margin:0px;
    padding:0px;
   }
   #p1{
    width:100px;
    height:100px;
    background:red;
   }
   #p2{
    width:100px;
    height:100px;
    background:orange;
   }
  </style>
 </head>
 <body>
  <div id="test1">
   <p id="p1">相對定位是指元素在其正常的位置,偏移某些像素</p>
   <p id="p2">相對定位是指元素在其正常的位置,偏移某些像素</p>
  </div>
 </body>
</html>

 

未添加相對定位偏移屬性:

 

wKioL1Qkr8PB7RANAADfDaIaCvc823.jpg

 

添加屬性後:

   #p1{
    width:100px;
    height:100px;
    background:red;
    position:relative;
    top:20px;
    left:20px;
   }

wKiom1QksDLCRCIWAADMeUrsnw0940.jpg

 如果要改變偏移方向只需直接更改偏移的方向即可,如:

   #p1{
    width:100px;
    height:100px;
    background:red;
    position:relative;
    /*top:20px;
    left:20px;*/
    right:20px;
    bottom:20px;
   }

 

wKiom1QksRKCoKslAADLtkm0A7c162.jpg

 

絕對定位:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title></title>
  <style>
   #test1{
    width:400px;
    height:400px;
    background:green;
   }
   p{
    margin:0px;
    padding:0px;
   }
   #p1{
    width:100px;
    height:100px;
    background:red;
    position:relative;
    /*top:20px;
    left:20px;*/
    right:20px;
    bottom:20px;
   }
   #p2{
    width:100px;
    height:100px;
    background:orange;
   }
   #test2{
    width:400px;
    height:400px;
    background:blue;
   }
   #p3{
    width:100px;
    height:100px;
    background:gray;
   }
  </style>
 </head>
 <body>
  <div id="test1">
   <p id="p1">相對定位是指元素在其正常的位置,偏移某些像素</p>
   <p id="p2">相對定位是指元素在其正常的位置,偏移某些像素</p>
  </div>
  <div id="test2">
   <p id="p3">絕對定位相對於父元素的top,left,right,bottom來定位</p>
  </div>
 </body>
</html>

未寫入絕對定位屬性的效果:

wKiom1QkuQXB3azUAADyr80LSHc927.jpg

 

寫入絕對定位:

   #p3{
    width:100px;
    height:100px;
    background:gray;
    position:absolute;
    top:20px;
    left:30px;
   }

 

wKioL1QkubDCbBqQAAD1a4Nismc101.jpg

 

上面的效果爲什麼是這樣的呢,因爲用絕對定位時父元素要求有position屬性才行,否則將依據父的父....一直到body, 哪個祖先有position屬性,相對哪個祖先,如果都沒有則相對於body。那麼我們就爲代碼中的p3父元素設置一個position屬性:

   #p3{
    width:100px;
    height:100px;
    background:gray;
    position:absolute;
    top:20px;
    left:30px;
   }

 

wKioL1QkvFXAPgoJAAFT6uoimHg951.jpg

 

 

如果再添加一塊的話會是什麼效果呢:

   #p4{
    width:100px;
    height:100px;
    background:pink;
    position:absolute;
    top:30px;
    left:40px;
   }
  </style>
 </head>
 <body>
   <p id="p4"></p>
  </div>
 </body>
</html>

 

wKiom1QkvXvy7LAwAAEFCGkts5Y314.jpg

 

新增的粉紅塊漂浮在了灰塊上方,那麼要是想讓灰塊漂浮在粉塊上方呢,可以用到一個屬性z-index:取的值越大,哪塊就會在上方效果如下:

 

   #p3{
    width:100px;
    height:100px;
    background:gray;
    position:absolute;
    top:20px;
    left:30px;
    z-index:10000;
   }

wKioL1QkvqSAIuzfAAEoVW0oeCw921.jpg

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章