Div  CSS absolute与relative的区别小结

所属分类: 网络编程 / CSS/HTML 阅读数: 1465
收藏 0 赞 0 分享
详细讲解两者的关系,需要配合例子,请先看例子:

以下是引用片段:
<!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 测试通过。

更多精彩内容其他人还在看

简单明了带你了解CSS Modules

不要误会,CSS Modules可不是在说“css模块化”这个好像在某些地方见过的词,它其实是特指一种近期才出现的技术手段。什么技术手段呢?下面小编来和大家一起学习一下
收藏 0 赞 0 分享

新手学习css优先级

大部分人同样也会在写css的过程中产生很多困惑,比如为什么自己写的某段css没有生效,或者呈现出的样式和预计的不同,但又不知道要如何解决。下面小编来和大家一起学习CSS的优先级
收藏 0 赞 0 分享

css进阶学习 选择符

css这种没有程序逻辑的代码中,又能找出什么来说明谁做得更出色呢?下面小编给大家说明如何从css选择符的角度来提高css代码质量。
收藏 0 赞 0 分享

实现css文字垂直居中的8种方法

CSS可以轻易实现文字的水平居中,但有时我们需要文字垂直居中,除了表格可以实现这种CSS文字垂直居中以外,还有其它几种方法可以做到
收藏 0 赞 0 分享

完美实现CSS垂直居中的11种方法

在做前端项目时CSS的水平居中我们经常使用,但有时还会用到CSS垂直居中,对于小白来说这个就有些难度了,下面看一下我是如何实现的
收藏 0 赞 0 分享

webpack高级配置与优化详解

这篇文章主要介绍了webpack高级配置与优化,其中包括了webpack打包多页面,webpack跨域问题等相关内容
收藏 0 赞 0 分享

5个HTML5的常用本地存储方式详解与介绍

在HTML5规范之前,存储主要是用cookies,但cookies缺点有在请求头上带着数据,大小是4k之内,今天为大家介绍一下H5的5种存储方式
收藏 0 赞 0 分享

CSS代码检查工具stylelint的使用方法详解

stylelint是一个强大的现代CSS检测器,可以让开发者在样式表中遵循一致的约定和避免错误。本文将详细介绍CSS代码检查工具stylelint
收藏 0 赞 0 分享

Zen Coding css,html缩写替换大观 快速写出html,css

本文是在zen使用生产中遇到的问题做一些分享。
收藏 0 赞 0 分享

javascript代码规范小结

javascript代码规范,大家可以参考下,以便写出更利于阅读的代码。
收藏 0 赞 0 分享
查看更多