Div CSS absolute与relative的区别小结
程序员文章站
2023-04-02 11:47:44
详细讲解两者的关系,需要配合例子,请先看例子: 以下是引用片段:
详细讲解两者的关系,需要配合例子,请先看例子:
以下是引用片段:
<!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 测试通过。
以下是引用片段:
<!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 测试通过。
推荐阅读
-
Div CSS absolute与relative的区别小结
-
大家看了就明白了css样式中类class与标识id选择符的区别小结
-
position属性中absolute与relative的区别讲解
-
div+CSS网页布局的意义与副作用原因小结第1/2页
-
div+CSS网页布局的意义与副作用原因小结第1/2页
-
css position属性:absolute、relative,static,fixed的区别和用法
-
css的position定位属性中:absolute与fixed的区别
-
CSS absolute与relative不得不说的故事
-
Div CSS absolute与relative的区别小结
-
一张图看懂css的position里的relative和absolute的区别_html/css_WEB-ITnose