Div CSS absolute與relative的區別小結

來源:互聯網
上載者:User

詳細講解兩者的關係,需要配合例子,請先看例子:

以下是引用片段:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Div + CSS Example, Wayhome's Blog</title>
<style type="text/css">
<!--
body,td,th{font-family:Verdana;font-size:9px;}
-->
</style></head>
<body>
<div style="position:absolute; top:5px; right:20px; width:200px; height:180px; background:#00FF00;">
 position: absolute;<br />
 top: 5px;<br />
 right: 20px;<br />
 <div style="position:absolute; left:20px; bottom:10px; width:100px; height:100px; background:#00FFFF;">
position: absolute;<br />
left: 20px;<br />
bottom: 10px;<br />
</div>
</div>
<div style="position:absolute; top:5px; left:5px; width:100px; height:100px; background:#00FF00;">
 position: absolute;<br />
 top: 5px;<br />
 left: 5px;<br />
</div>
<div style="position:relative; left:150px; width:300px; height:50px; background:#FF9933;">
 position: relative;<br />
 left: 150px;<br />
 <br />
 width: 300px; height: 50px; <br />
</div>
<div style="text-align:center; background:#ccc;">
  <div style="margin:0 auto; width:600px; background:#FF66CC; text-align:left;">
  <p>1</p>
  <p>2</p>
  <p>3</p>
  <p>4</p>
  <p>5</p>
  <div style="padding:20px 0 0 20px; background:#FFFF00;">
    padding: 20px 0 0 20px;
  <div style="position:absolute; width:100px; height:100px; background:#FF0000;">position: <span style="color:#fff; ">absolute</span>;</div>
  <div style="position:relative; left:200px; width:500px; height:300px; background:#FF9933;">
    position: <span style="color:blue;">relative</span>;<br />
   left: 200px;<br />
   <br />
   width: 300px;<br />
   height: 300px;<br />
   <div style="position:absolute; top:20px; right:20px; width:100px; height:100px; background:#00FFFF;">
    position: absolute;<br />
    top: 20px;<br />
    right: 20px;<br /></div>
   <div style="position:absolute; bottom:20px; left:20px; width:100px; height:100px; background:#00FFFF;">
    position: absolute;<br />
  bottom: 20px;<br />
  left: 20px;<br />
  </div>
  </div>
  </div>
 
</div>
</div>
</body>
</html>

  absolute:絕對位置,CSS 寫法“ position: absolute; ”,它的定位分兩種情況,如下:

  1. 沒有設定 Top、Right、Bottom、Left 的情況,預設依據父級的“內容地區原始點”為原始點,上面例子紅色部分(父級黃色地區有 Padding 屬性,“座標原始點”和“內容地區原始點”不一樣)。

  2. 有設定 Top、Right、Bottom、Left 的情況,這裡又分了兩種情況如下:

  (1). 父級沒 position 屬性,瀏覽器左上方(即 Body)為“座標原始點”進行定位,位置由 Top、Right、Bottom、Left 屬性決定,上面例子綠色部分。

  (2). 父級有 position 屬性,父級的“座標原始點”為原始點,上面例子淺藍色部分。

  relative:相對定位,CSS 寫法“ position: relative; ”,參照父級的“內容地區原始點”為原始點,無父級則以 Body 的“內容地區原始點”為原始點,位置由 Top、Right、Bottom、Left 屬性決定,且有“撐開或佔據高度”的作用,上面例子橙色部分。

  通過上面的例子和講解,相信熟練運用 absolute 與 relative 並不是一件很困難的事,我們周圍有不少關於 absolute 與 relative 的好例子,比如“網易163免費郵”首頁(http://mail.163.com),裡面就有大量的運用。

  例子代碼在 IE5.5、IE6、FF1.5、Opera9 測試通過。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.