Div + CSS:absolute与relative的运用

星期5, 2008年1月24日
Posted in category 技术文摘

Div + CSS 进行网页布局,适当地运用 absolute 与 relative,能给布局带来意想不到的效果和方便,达到事半功倍…本文介绍了关于 absolute 与 relative 的运用。

  详细讲解两者的关系,需要配合例子,请先看例子:

以下是引用片段:
 

XML/HTML代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">    
  2. <html xmlns="http://www.w3.org/1999/xhtml">    
  3. <head>    
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />    
  5. <title>Div + CSS Example, Wayhome's Blog</title>    
  6. <style type="text/css">    
  7. <!--   
  8. body,td,th{font-family:Verdana;font-size:9px;}   
  9. -->    
  10. </style></head>    
  11. <body>    
  12. <div style="position:absolute; top:5px; right:20px; width:200px; height:180px; background:#00FF00;">    
  13.  position: absolute;<br />    
  14.  top: 5px;<br />    
  15.  right: 20px;<br />    
  16.  <div style="position:absolute; left:20px; bottom:10px; width:100px; height:100px; background:#00FFFF;">    
  17. position: absolute;<br />    
  18. left: 20px;<br />    
  19. bottom: 10px;<br />    
  20. </div>    
  21. </div>    
  22. <div style="position:absolute; top:5px; left:5px; width:100px; height:100px; background:#00FF00;">    
  23.  position: absolute;<br />    
  24.  top: 5px;<br />    
  25.  left: 5px;<br />    
  26. </div>    
  27. <div style="position:relative; left:150px; width:300px; height:50px; background:#FF9933;">    
  28.  position: relative;<br />    
  29.  left: 150px;<br />    
  30.  <br />    
  31.  width: 300px; height: 50px; <br />    
  32. </div>    
  33. <div style="text-align:center; background:#ccc;">    
  34.   <div style="margin:0 auto; width:600px; background:#FF66CC; text-align:left;">    
  35.   <p>1</p>    
  36.   <p>2</p>    
  37.   <p>3</p>    
  38.   <p>4</p>    
  39.   <p>5</p>    
  40.   <div style="padding:20px 0 0 20px; background:#FFFF00;">    
  41.     padding: 20px 0 0 20px;    
  42.   <div style="position:absolute; width:100px; height:100px; background:#FF0000;">position: <span style="color:#fff; ">absolute</span>;</div>    
  43.   <div style="position:relative; left:200px; width:500px; height:300px; background:#FF9933;">    
  44.     position: <span style="color:blue;">relative</span>;<br />    
  45.    left: 200px;<br />    
  46.    <br />    
  47.    width: 300px;<br />    
  48.    height: 300px;<br />    
  49.    <div style="position:absolute; top:20px; right:20px; width:100px; height:100px; background:#00FFFF;">    
  50.     position: absolute;<br />    
  51.     top: 20px;<br />    
  52.     right: 20px;<br /></div>    
  53.    <div style="position:absolute; bottom:20px; left:20px; width:100px; height:100px; background:#00FFFF;">    
  54.     position: absolute;<br />    
  55.   bottom: 20px;<br />    
  56.   left: 20px;<br />    
  57.   </div>    
  58.   </div>    
  59.   </div>    
  60.      
  61. </div>    
  62. </div>    
  63. </body>    
  64. </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 测试通过。

本篇文章来源于 站长资讯网 原文链接:http://css.chinahtml.com/2007/119802612417375.shtml

You can leave a response, or trackback from your own site.

0 Responses to “Div + CSS:absolute与relative的运用”

Leave a Reply

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。