为了账号安全,请及时绑定邮箱和手机立即绑定

relative那么为什么会遮盖住2222222的半部分

<!DOCTYPE>
<html>
	<head>	
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>定位</title>
		<style>
			*{margin:0;padding:0;color:#FFF;background-color: #666;}
			#wrap{width:960px;margin:0 auto;}
			#header{height:500px;}
			#mainbody,#footer{height:200px}
			#header{background-color: #75936C;position:relative;left:10px;top:10px;}
			#mainbody{background-color: blueviolet;}
			#footer{background-color: yellowgreen;}
		</style>
	</head>
	<body>
		<div id="wrap">
			0000000000000000000000000</br>
			0000000000000000000000000000
			<div id="header"> 
				1111111111111111111111111111
			</div> 
			222222222222222222 </br>
			3333333333333333333
			<div id="mainbody">
			</div>
			<div id="footer">
			</div>
		</div>
		
	</body>
</html>

http://img1.sycdn.imooc.com//56989aea0001b42e10271002.jpg


我通过增加最上面一个块的高度,证实了它模式还在文档流中。

因为222……和333……这两行会被不断的往下挤

那么relative既然没有z-index属性,为何它会遮挡住222……的上半部分呢,这让我感到非常奇怪。

正在回答

4 回答

设置了relative,还是在标准文档流里的,原来模块占据的位置会保留,然后相对这个保留的位置进行偏移,并且具有z-index属性,会有层叠的效果,所以覆盖到了2222

1 回复 有任何疑惑可以回复我~

应用relative 属性后具有空间层堆叠的性质,且原来占据的空间保留,相当于原位置留空并在上面一层相对于自身偏移

1 回复 有任何疑惑可以回复我~

relative有z-index属性

http://www.imooc.com/video/1327

视频里57s的地方

0 回复 有任何疑惑可以回复我~

由于header模块relative偏移后还保留着原来的空间,所以22222222是紧跟在原来的空间上,所以header新的位置会覆盖到22222222这个内容。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
网页布局基础
  • 参与学习       214705    人
  • 解答问题       1756    个

让你精通CSS中三大定位机制,彻底掌握网页布局的相关知识

进入课程

relative那么为什么会遮盖住2222222的半部分

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信