0 0

请教CSS中的position:relative;的作用。40

对于css中的position:relative;我始终搞不明白它是什么意思,有什么作用?

对于position的其它几个属性,我都搞懂了
引用

static :  无特殊定位,对象遵循HTML定位规则
absolute :  将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位。而其层叠通过z-index属性定义。此时对象不具有边距,但仍有补白和边框
relative :  对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置
fixed :  IE5.5及NS6尚不支持此属性


对于文档中所说的几个属性,除了relative,其它的一试,就效果出来了,对于个relative,真是难理解。

要说是相对定位嘛,也不是。

对于页面中一个static的div#demo,我想让这个#demo里的一个div#sub相对于#demo定位在右上角的某个地方,应该是用这个position:relative这个吧,然后再加上top,right给限制一下。
我理解得没有错吧?

不过在现实开发中,我却常常 得不到预期的效果。我觉得应该是我对这个属性还没有理解透。现在我想完全掌握这个,就像position:absolute那样地掌握它,想怎么弄html元素就怎么弄HTML元素。
请理解这一点的朋友们给讲讲,或者给点资料,链接之类 的也可以。

谢谢您们。
问题补充:
谢谢您 提供的链接,不过它没有深度,我希望得到position:relative的详细的理解。
问题补充:
reeze,你说的这一点很好。
不过,对于声明了这属性的本身的元素的定位呢?它自身的top,left,right,bottom有什么作用?
你所讲的是relative的子元素的行为啊。我想知道它自身的一些信息。
问题补充:
就没有大大给点根本的解释吗?
2008年10月29日 19:24

13个答案 按时间排序 按投票排序

0 0

采纳的答案

"对于页面中一个static的div#demo,我想让这个#demo里的一个div#sub相对于#demo定位在右上角的某个地方,应该是用这个position:relative这个吧,然后再加上top,right给限制一下。
我理解得没有错吧? "

首先对你疑惑的地方,我先解答一下:
position的默认值是static,(也就是说对于任意一个元素,如果没有定义它的position属性,那么它的position:static)

如果你想让这个#demo里的一个div#sub相对于#demo定位在右上角的某个地方,应该给#demo相对定位,#sub绝对定位。

absolute是相对于自己最近的父元素来定位的,如果你不给#demo相对定位,那么#sub的绝对定位就是相对于body来定位的。

relative是相对于自己来定位的,例如:#demo{position:relative;top:-50px;},这时#demo会在相对于它原来的位置上移50px。

另:relative 不脱离文档流,absolute 脱离文档流。也就是说:relative 的元素尽管表面上看到它偏离了原来的位置,但它实际上在文档流中还是没变。absolute的元素不仅位置改变了,同时也脱离了文档流。

写了个例子如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>position</title>
<style type="text/css">
	<!--
	body{
		font-size:12px;
		margin:0 auto;
	}

	div#demo{
		position:relative;
		border:1px solid #000;
		margin:50px;
		top:-50px;
		line-height:18px;
		overflow:hidden;
		clear:both;
		height:1%;
	}

	div#sub{
		position:absolute;
		right:10px;
		top:10px;
	}

	div.relative{
		position:relative;
		left:400px;
		top:-20px;
	}

	div.static,div.fixed,div.absolute,div.relative{
		width:300px;	
	}

	div.static{
		background-color:#bbb;
		position:static;
	}

	div.fixed{
		background-color:#ffc0cb;
	}

	div.absolute{
		background-color:#b0c4de;
	}

	div.relative{
		background-color:#ffe4e1;
	}
	-->
</style>
</head>
<body>
	<div id="demo">
		<div class="static">static: 默认值。无特殊定位,对象遵循HTML定位规则 </div>
		<div id="sub" class="absolute">absolute: 将对象从文档流中拖出,使用left,right,top,bottom 等属性相对于其最接近的一个最有定位设置的父对象进行绝对定位。如果不存在这样的父对象,则依据body对象。而其层叠通过z-index属性定义 </div>
		<div class="fixed">fixed:未支持。对象定位遵从绝对(absolute)方式。但是要遵守一些规范 </div>
		<div class="relative">relative:对象不可层叠,但将依据 left,right,top,bottom 等属性在正常文档流中偏移位置 </div>
	</div>
</body>
</html>




2008年11月02日 20:48
0 0

很细致

2013年5月30日 16:31
0 0

position:relative; 他的意思是绝对相对定位,他是参照父级的原始点为原始点,无父级则以BODY的原始点为原始点,配合TRBL进行定位,当父级内有padding等CSS属性时,当前级的原始点则参照父级内容区的原始点进行定位.
relative和absolute的另外一个很重要的区别就是当被定义成absolute的对象被移出了,那么他原来的位置也就不存在了,
如果被定义成relative的对象被移出了 他原来的位置还在,别的元素就不能替代这个位置.

2008年11月05日 10:19
0 0

<html>
<head>
<title> position </title>
<style>
body { margin: 0px; padding: 0px; color: white; text-align: right; }
.box { width: 50px; border: dotted yellow; }
.square { width: 100px; height: 100px; }
.r { background-color: red; }
.g { background-color: green; }
.b { background-color: blue; }
#l { float: left; }
#r { float: right; }
#abs { position: absolute; top: 150px; left: 50px; }
#rel { position: relative; top: 150px; left: -50px; }
</style>
</head>

<body>
<div class="box" id="l">
	<div class="r square" id="abs">R</div>
	<div class="g square"">G</div>
	<div class="b square">B</div>
</div>
<div class="box" id="r">
	<div class="r square" id="rel">R</div>
	<div class="g square">G</div>
	<div class="b square">B</div>
</div>
</body>
</html>


运行之

absolute 会把元素彻底移出文本流
relative 占座儿

2008年11月05日 10:17
0 0

相对定位有两个作用:
1、在保证元素原始占位不变的情况下,偏移元素,这个有很多地方用得到,比如微调元素的位置,还有就是有种居中的实现方式就是利用了这一点;
2、作为子元素的定位父元素,也就是说,如果某个元素相对定位了,那其下的子孙元素,在没有其他定位元素隔离的情况下,将以这个父元素的包围框为基准做绝对定位。

2008年11月05日 09:42
0 0

从应用的角度来说,relative常用于包含有absolute元素的容器元素上。
absolute元素默认以body做为容器元素进行绝对定位。
如果你想在页面一个特定区域进行绝对定位,就可以在absolute元素外包裹一层容器元素应用relative样式。

2008年11月05日 09:36
0 0

一下内容摘选于:http://www.blueidea.com/tech/web/2007/4601.asp 有时间自己去详细看看,详细你会明白的.
1.定位的专业解释
相对定位(relative):对象不可层叠,依据left,right,top,bottom等属性在正常文档流中偏移自身位置。同样可以用z-index分层设计。

2.定位的形象解释
自私的相对定位(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>相对定位对象会占据原有位置</title>
<style type="text/css">
<!--
body {
 margin:0px;
 font-size: 9pt;
 line-height:12pt;
 margin-top: 150px;
 margin-left: 150px;
}
.box1 {
 background-color: #3CF;
 height: 200px;
 width: 200px;
}
.box2 {
 background-color: #6C6;
 height: 100px;
 width: 100px;
 position: relative;
 float: left;
 top:-120px;
}
-->
</style>
</head>

<body>
<div class="box1">
  <div class="box2"></div>
[相对定位对象会占据原有位置]现在绿色小盒子是以子盒子形式存在蓝色大盒子中,并设定了浮动方式为左浮动,所以这些文字能环绕在它右边,当绿色小盒子用相对定位方法重定位到外边去了,文字还是不能流入它的区域,即左上角空白区域,那是因为绿色盒子还占用着它原来位置。</div>
</body>
</html>


相对定位的对象不可以重叠。这一点也许比较难理解,先来这样理解吧,因为相对定位的对像没有脱离文本流,就像两个还是住在同一层楼的人,任何时候,他们脚下踩的地方不可能被另一个人踩着的,如果可以就意味着两个人共享一块地方了。在下面的实例中,两个小盒子都刚好排在大盒子上方,所以在大盒子中输入的文字被挤到了下面。上面两个盒子我再用相对定位的方法对调了它们的位置,当前它们下方的空间其实不是自己的,也正因为它们没有重叠,所以盒子上方还是有两个盒子占用的空间,下面文字无法向上流动(我已对盒子设定了浮动属性的了,如果不设定,即使有空间文本也不会往上流,上面盒子是块级元素,会独立占据一行)。
<!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>相对定位对象不可层叠</title>
<style type="text/css">
<!--
body {
 margin:0px;
 font-size: 9pt;
 line-height:12pt;
 margin-top: 150px;
 margin-left: 150px;
}
.box1 {
 background-color: #33CCFF;
 height: 200px;
 width: 210px;
 padding:5px;
}
.box2 {
 background-color: #66CC66;
 height: 100px;
 width: 100px;
 position: relative;
 float: left;
 left:100px;
}
.box3 {
 background-color: #CC99FF;
 height: 100px;
 width: 100px;
 position: relative;
 float: left;
 right:100px;
}
-->
</style>
</head>

<body>
<div class="box1">
  <div class="box2">我家在左边</div>
  <div class="box3">我家在右边</div>
  相对定位对象是在正常文本流中移动的,所以它的存在还是会影响文本流的布局, 如果是绝对定位,这些文本应向上流入上方两个盒子的底部了。
</div>
</body>
</html>


给包含块一个高度,或者说给定位对象的父级设定一个高度。不然也许显示的结果并不是你想要的。在下面的例子中,如果你本意要实现下面效果:把小盒子在父盒子中的左上角垂直往下偏移,上方留出一块区域,如果你删除了box1的高度会怎么样呢?自己测试一下吧。

<!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>给包含块一个高度</title>
<style type="text/css">
<!--
body {
 margin:0px;
 font-size: 9pt;
 line-height:12pt;
 margin-top: 150px;
 margin-left: 150px;
}
.box1 {
 background-color: #33CCFF;
 width: 200px;
        height: 200px;/*如果不设定这个高度,也许显示的结果并不是你想要的*/
 
}
.box2 {
 background-color: #CC99FF;
 height: 100px;
 width: 100px;
 position:relative;
 bottom:-100px;
}
-->
</style>
</head>

<body>
<div class="box1">
  <div class="box2"></div>
</div>
</body>
</html>

放置相对定位对像到可视区外不会出现滚动条。此现象很好理解,因为相对定位对象原来位置没有变,原来位置没有出去滚动条就不会出现。在下面实例中,如果你缩小浏览器窗口,相对定位的对象还会出现完全消失的情况呢。
<!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>放置相对定位对像到可视区外不会出现滚动条</title>
<style type="text/css">
<!--
body {
 margin:0px;
 font-size: 9pt;
 line-height:13pt;
}
.box{
 background-color: #996699;
 height: 200px;
 width: 270px;
 background-image: url(http://farm1.static.flickr.com/48/172522117_410a1e87c1_m.jpg);
 background-repeat: no-repeat;
 background-position: center center;
 position: relative;
 left: 900px;
}
.box2{
 height: 200px;
 width: 270px;
 position:absolute;
 border: 1px dashed #996699;
}
-->
</style>
</head>

<body>
<div class="box2">虚线框是右边盒子原来的位置,即用了相对定位后,把对象重新定位到了右边,但对象的位置其实还在这里,或者说对象实际上并没有越出浏览器可视区域,所以不会出现滚动条。<br />
我说过相对定位的的盒子原有位置是不会被占用的,但我为什么可以在这里写说明呢,这是因为我用了绝对定位,我只是为了方便说明才这样做的,请不要误解了。</div>
<div class="box"></div>
</body>
</html>


定位的特殊值情况。如果定位设置是这样的:position:relative ,right:200px, left:10px会出现什么情况呢?一边叫对象向右偏移10px,另一边又叫对象向左偏移200px,到底是听那边的呢,还是那个先,那个后呢。针对这种矛盾情况,CSS规定只听左边的left,而右边怎么设置都被重定为-left,即-left =right。上下值top与bottom矛盾的话,就以top为准,所以在下面的实例中,你如何改变right的值,对象位置不会发生改变的。
<!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>定位的特殊值情况</title>
<style type="text/css">
<!--
body {
 margin:0px;
 font-size: 9pt;
 line-height:12pt;
 margin-top: 150px;
 margin-left: 150px;
}
.box1 {
 background-color: #33CCFF;
 width: 200px;
 height: 200px;
}
.box2 {
 background-color: #CC99FF;
 height: 100px;
 width: 100px;
 position:relative;
 right:200px;/*此值总被认为是-left=-10px,所以你怎么改它都不会影响到布局*/
 left:10px;/*这里设定了两个定位值,但是它们是矛盾的,所以此时将以左边为准,如果是上下类型错误,则以上边定位数值为准*/

}
-->
</style>
</head>

<body>
<div class="box1">
  <div class="box2"></div>
</div>
</body>
</html>


综合实例见证定位的魅力
<!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>相对定位和绝对定位实例--作者:唐国辉</title>
<style type="text/css">
<!--
*{
 margin:0px;
 padding:0px;
}
body {
 margin:10px;
 font-size: 13px;
}
a:link {
 color: #666;
 text-decoration: none;/*去除链接下划线*/
}
a:visited {
 color: #666;
 text-decoration: none;
}
a:hover {
 color: #F90;
}
h3 {
 color: #FFF;
 background-color: #F90;
 width: 100px;
 padding-top:3px;
 text-align:center;
}
ul {
 width: 300px;
 border-top: 1px solid #F60;/*使其上边有一线条,与标题h3吻合*/
}
ul li {
 padding:5px;
 border-bottom: 1px solid #CCC;
 list-style:none;/*去除列表样式,这对于标准浏览很重要*/
}
a {
 position: relative;/*设置其定位方法为相对定位,等一下内部信息面板就可以相对它定位*/
 display:block;/*让链接以块状呈现,这样不用点中链接文字就可以响应链接*/
}
a div {
 display: none;/*初始化信息面板不显示*/
}
a:hover {background:#fff;}/*IE7以下版本A状态伪类bug*/
a:hover div {
 position: absolute;
 padding:5px;
 display:block;
 width: 245px;/*只给出宽度,高让它随内容多少自动调整*/
 left:150px;/*这是相对父级A的定位*/
 top: 20px;
 border: 1px solid rgb(91,185,233);
 background-color: rgb(228,246,255);
 z-index:999;/*把信息面板提到一个较高的位置,使链接文字过长时不会与面板重叠,但这只对FF有效*/
}
a img {
 width:80px;
 height:80px;
 border:none;/*去除图片边框,默认情况下,链接内的图片在标准浏览器会出现边框*/
 display:block;
 position: absolute;/*用绝对定位抽离正常文本流,不然在设计的时候考虑到不同浏览器正常显示会更麻烦*/
 top:5px;/*这里的5px是与信息面板大盒子的填充一样的*/
 left:5px;
}
dl {
 width: 160px;
 float:right;
 color: #999;
 line-height:20px;
}
dl dd span {
 font-weight: bold;
 color: #639;
}
-->
</style>
</head>

<body>
<h3>最新单曲</h3>
<ul>

<li><a href="#">01 爱的文身 黄圣依<div><img src="http://imgcache.qq.com/music/photo/singer/54/singerpic_5554_0.jpg" alt="" />
<dl>
 <dd><span>歌名:</span>爱的文身</dd>
 <dd><span>歌手:</span>黄圣依</dd>
 <dd><span>介绍:</span>黄圣依唱片主打歌的确是她个人的内心写照,《爱的文身》由香港音乐大师金培达作曲,制作人陈少琪亲自填词。</dd>
</dl></div></a></li>

<li><a href="#">02 累了 阿信<div><img src="http://imgcache.qq.com/music/photo/singer/47/singerpic_6547_0.jpg" alt="" />
<dl>
 <dd><span>歌名:</span>累了</dd>
 <dd><span>歌手:</span>阿信</dd>
 <dd><span>介绍:</span>青春校园偶像剧----【熱情仲夏】片尾曲</dd>
</dl></div></a></li>

<li><a href="#">03 漫漫 慢慢 阿朵<div><img src="http://imgcache.qq.com/music/photo/singer/61/singerpic_6361_0.jpg" alt="" />
<dl>
 <dd><span>歌名:</span>漫漫 慢慢</dd>
 <dd><span>歌手:</span>阿朵</dd>
 <dd><span>介绍:</span>阿朵抢听版最新单曲《漫漫 慢慢》让你认识阿朵柔情的一面,展现阿朵百变的风格。</dd>
</dl></div></a></li>

<li><a href="#">04 我怀念的 孙燕姿<div><img src="http://imgcache.qq.com/music/photo/singer/9/singerpic_109_0.jpg" alt="" />
<dl>
 <dd><span>歌名:</span>我怀念的</dd>
 <dd><span>歌手:</span>孙燕姿</dd>
 <dd><span>介绍:</span>令人感同身受的抒情歌,在故事性的架构中,有着平凡但又能扣人心弦的情感,是一首高度共鸣的抒情歌。</dd>
</dl></div></a></li>

<li><a href="#">05 听,花期越来越近 后弦<div><img src="http://imgcache.qq.com/music/photo/singer/33/singerpic_4733_0.jpg" alt="" />
<dl>
 <dd><span>歌名:</span>花期越来越近</dd>
 <dd><span>歌手:</span>后弦</dd>
 <dd><span>介绍:</span>后弦参与《花开的声音》这个舞台剧里的一部分,邀请了后弦去演唱这首歌,此歌就是为舞台剧《花开的声音》而创作。</dd>
</dl></div></a></li>

</ul>
</body>
</html>

2008年11月05日 09:00
0 0

relative是相对定位。这里的相对是指相对于此元素在正常情况下在文档中的位置,而且它并未被抽离文档流。未被抽离的意思是它还对后面的元素有影响,如果被抽离了,就不会对后面的元素有影响了。话多无用,亲自动手试试就理解了。对比一下相对定位前后的位置偏移量,及相对定位时与绝对定位时后面元素的变化。

2008年11月05日 08:09
0 0

我谈谈我的理解:
1.首先不要用层叠这个词,容易把关系搞混
2.absolute是受parentNode的position影响的
  parentNode的position不是relative,那absolute的绝对对象是针对body的
  parentNode的position  是relative,那absolute的绝对对象是针对parentNode的
  也就是说absolute的绝对是有参照Node的
3.对于复杂的position关系,要从parentNode的position的设置逐次的推下来
4.relative的node的尺寸会影响parentNode的尺寸,也就是说relative即定位也占位
  absolute的node的尺寸不影响parentNode的尺寸,也就是说absolute只定位不占位
5.z-index只对absolute的node有效

2008年11月02日 16:27
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;}
#apDiv1 {
position:absolute;
left:306px;
top:67px;
width:135px;
height:106px;
z-index:1;
background-color: #999999;
}
-->
</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</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>

本文来自: 脚本之家(www.jb51.net) 详细出处参考:http://www.jb51.net/article/13256.htm

2008年10月31日 15:16
0 0

引用
不过,对于声明了这属性的本身的元素的定位呢?它自身的top,left,right,bottom有什么作用?
你所讲的是relative的子元素的行为啊。我想知道它自身的一些信息。

应该是这样的,他自身的top,left。。。 将会从原来的位置偏移出去,偏移的位置就是相对于它自己原来在流里面的位置。但是其他的属性,比如margin不会随着偏移而偏移吧。。

2008年10月30日 12:53
0 0

我的理解是这样子的。

如果你声明一个div的position:relative的话,就表示它的子内容如果 Position:absolute;的话,他的绝对位置就是相对他最近上一级声明了postion:relative的对象来绝对定位。否则的话就会使相对整个页面来绝对定位的。

声明relative就是说你如果要绝对定位就相对我来绝对定位吧。

2008年10月30日 10:48
0 0

我也是新手,给您点资料看看,不知道能不能帮上你

http://www.w3school.com.cn/tiy/t.asp?f=csse_position_relative

http://www.w3school.com.cn/css/css_positioning.asp

2008年10月29日 19:38

相关推荐

    css中position:relative和overflow:hidden的问题

    总之,`position:relative`和`overflow:hidden`是CSS布局中的两个关键工具,理解它们的工作原理以及如何相互作用,对于提高网页设计和开发的能力至关重要。在实际项目中,我们需要根据具体需求灵活运用这两个属性,...

    CSS中的position:relative;的作用示例介绍

    在CSS布局中,`position`属性是一个至关重要的概念,它决定了元素如何在页面上定位。在你的问题中,你特别关注了`position:relative;`的作用,这是一个基础且实用的定位方式。下面我会详细解释`position:relative;`...

    CSS中的position 的值: absolute 与 relative

    在CSS(层叠样式表)中,`position`属性...总结起来,`position: relative`和`absolute`在CSS布局中各有其独特的功能和用途。理解并熟练运用它们,能帮助开发者更好地控制网页元素的布局,实现更复杂、精细的设计效果。

    IE6下的纯CSS完美position:fixed实现

    在互联网早期,Internet Explorer 6 (IE6) 是一个广泛使用的浏览器,但它的CSS支持并不完善,特别是对于`position: fixed`属性。`position: fixed`在现代浏览器中用于创建固定定位元素,使得元素相对于视口...

    如何用float配合position:relative实现居中

    总结来说,通过巧妙地结合`float`和`position:relative`,我们能够有效地解决IE6和IE7浏览器中元素居中对齐的问题,而无需使用可能导致兼容性问题的`display:inline-block`。这种方法虽然在某些情况下可能需要额外的...

    css中position:fixed实现div居中上下左右居中

    在这段CSS代码中,首先设置了.dialog类的position属性为fixed,确保该DIV相对于视口定位。接着,通过设置top: 50%和left: 50%属性,将DIV元素的左上角定位到视口的中心位置。然后,通过设置margin负值来调整DIV元素...

    微信小程序----position:sticky

    在微信小程序开发中,`position:sticky` 是一个非常实用的CSS样式,它结合了`position:relative`和`position:fixed`的特点,用于创建元素的粘性定位。这个特性允许元素在滚动到特定位置时固定在屏幕的某个位置,从而...

    position:relative/absolute无法冲破的等级

    这是因为当两个元素的`position`都为`relative`或`absolute`时,它们之间的层级关系主要由它们在文档中的先后顺序决定,而不是由`z-index`值决定。具体来说,对于同级元素而言,后来者会覆盖前者。 #### 解决方案 ...

    css position: absolute、relative详解

    总结来说,position: absolute和position: relative是CSS中用于控制元素定位的两个重要属性。absolute让元素完全脱离文档流并相对于最近的已定位祖先元素(或者初始包含块)进行定位,而relative则让元素保持在文档...

    IE7 position:relative的问题

    在IE7中,`position:relative`属性确实存在一些特有的问题,这是由于IE7对CSS布局的理解与现代浏览器有所差异导致的。在其他浏览器中,`position:relative`通常用于让元素相对于其正常位置进行定位,而不会影响其他...

    IE6 CSS高度height:100% 计算失效/无效

    样式复制代码代码如下:#demo{position:relative;width:300px;border:1px solid #090;}#demo div{position:absolute;width:200px;height:100%;background-color:#f00;} 结构 复制代码代码如下:”demo”&gt; &lt;div&gt;...

    CSS教程——元素定位

    使用 position: relative 定位父元素,position: absolute 定位子元素时,子元素将相对于父元素进行定位。例如: ```html &lt;div id="div-1a"&gt;this is div-1a element. ``` ```css #div-1 { position: relative;...

    CSS之Position详解

    在CSS布局中,`position`属性起着至关重要的作用。它用于定义元素如何在页面上定位,决定了元素是否会被其他元素所影响,或者它是否会覆盖其他元素。`position`属性共有四种取值:`relative`、`absolute`、`fixed` ...

    css的position里的relative和absolute的区别.docx

    CSS Position relative 和 absolute 的区别 在 CSS 中,position 属性 plays a crucial role 在排版元素中。在 position 属性中,有五个值:static、inherit、fixed、absolute 和 relative。今天,我们将深入探讨 ...

    css中position:fixed实现div在窗口上下左右居中

    在Web开发中,CSS属性position被用来指定元素在页面中的定位方式。通过position属性,我们可以控制元素的位置关系,常见的定位属性值包括static、relative、absolute和fixed等。其中,position:fixed是一种特殊的...

    position的relative和absolute总结

    在CSS布局中,`position`属性是一个至关重要的概念,它决定了元素在页面上的定位方式。本文将详尽地探讨`position`属性中的`relative`和`absolute`值,以及它们在网页设计中的应用。 首先,`position`属性的默认值...

    css如何让浮动元素水平居中

    对于定宽的非浮动元素我们可以在CSS中用 margin:0 auto 进行水平居中,对于不定宽的浮动元素我们也有一个常用的技巧解决它的... position:relative; left:50%; } p{ float:left; position:relative; right:50%; }

    关于CSS position属性值absolute,relative的解释.zip

    在CSS布局中,`position`属性是一个至关重要的概念,它决定了元素在页面上的定位方式。本文件主要探讨了`position`属性的两个关键值:`relative`和`absolute`,这些知识点对于创建复杂的网页布局至关重要。 首先,...

    JS解决position:sticky的兼容性问题的方法

    在前端开发中,`position: sticky` 是一种CSS布局属性,它允许元素在滚动到某个阈值时在页面上保持“粘性”。然而,`position: sticky` 在某些浏览器,尤其是旧版本的Android设备上可能存在兼容性问题。为了解决这个...

Global site tag (gtag.js) - Google Analytics