当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > Div CSS absolute与relative的区别小结

CSS样式表
CSS网页设计 IE8和IE7共存
CSS2 打印属性让打印HTML文档不出问题
制作网页中设计段落缩进的方法
CSS border 属性使用说明
CSS border-style 属性使用方法
CSS border-color 属性使用方法
CSS border-width 属性使用教程
CSS padding属性定义边内补白
CSS margin 属性定义边外补白
网页布局教程 掌握CSS网页布局属性
css 背景样式属性说明
span margin 设置生效
html 滚动条在IE6和IE7中兼容性问题
IE6 两个div有间隙的问题(IE 3px bug)
CSS 数字和字母将容器撑大问题解决
换个角度看页面重构中的语义化
DIY属于个人开发使用的CSS Reset
CSS 空格引起网页布局间距问题
CSS 网页制作时遇到问题的快速参考技巧
css li 去掉点的样式写法

CSS样式表 中的 Div CSS absolute与relative的区别小结


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 117 ::
收藏到网摘: n/a

Div + CSS 进行网页布局,适当地运用 absolute 与 relative,能给布局带来意想不到的效果和方便,达到事半功倍…本文介绍了关于 absolute 与 relative 的运用。 详细讲解两者的关系,需要配合例子,请先看例子:
以下是引用片段:
<!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 测试通过。