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

请教一个问题,关于盒子套盒子的。

<!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=utf-8" />

<title>无标题文档</title>

<style type="text/css">

.body{ margin:0; padding:0;}

.top{ height:100px; background:#00F;}

.main{ width:800px; height:800px; background:#F00; margin:0 auto;}

.left{ width:400px; height:400px;  background:yellow; position: absolute; top:0px; left:0;  }

.right{ width:200px;height:400px; background:#0F0; position: absolute; top:0; right:0;

}

.sub_main{ width:100px; height:800px; left:50px; background:#F0F; margin:0px 200px 0px 400px;

}

</style>



</head>


<body>

<div class="top"></div>

<div class="main">

<div class="left"></div>

<div class="right"></div>


<div class="sub_main"></div>

</div>

<div class="foot"></div>






</body>

</html>

为什么会是这样,不应该是浮动在main里面的吗?

http://img1.sycdn.imooc.com//57a8ade8000165fc18790837.jpg

正在回答

1 回答

position: absolute 的设置使left和right这两个DIV脱离了标准文档流,此时父元素main如果不设置定位,就以<html>为偏移参考基准。父元素设置定位,那么就会以父元素作为偏移参照基准

解决方法:父元素设置相对定位

.main{ width:800px; height:800px; background:#F00; margin:0 auto; position:relative;}

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

哇哈哈lk 提问者

原来如此 多谢了
2016-08-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
如何用CSS进行网页布局
  • 参与学习       209624    人
  • 解答问题       1153    个

用最简洁的案例教你布局的那些知识,这是前端工程师基本技能

进入课程

请教一个问题,关于盒子套盒子的。

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