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

关于三列布局,中间自适应的布局方法

doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
*{margin:0;padding:0px;}
.wrap{width:960px; margin:0 auto;}
.left{width:200px;height:100px;background:#009;float:left;}
.middle{background:#3F3;height:100px;border:1px solid #000;margin:0 300px 0 200px;}
.right{width:300px;height:100px;background:#9F0;float:right;}
</style>
</head>

<body>
<div class="wrap">
<div class="left">200px</div>
<div class="right">300px</div>
<div class="middle">自适应宽度</div>
</div>

</body>

效果是一样的,用float处理,只不过不class=“middle”方在right后。当right又浮动后,脱离文档流。是中间一列在中间显示,在设置margin将盖注部分显示出来,不过div顺序不是很正常,不够标准语义化。

正在回答

4 回答

我是这么理解的,因为浏览器是按代码顺序解析的,left和right先写的话就被先漂浮起来脱离了文档流,这时候middle的margin的参照物就剩下父级的body,所以再左右一定,就完成了这样的效果。如果先写middle再写right,因为middle出现的时候right还没有浮动,所以middle的marigin-right属性的参照物还是right,这样的话300px就等于把middle和right要分开300px,所以right就被挤下去了。

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

我也发现是这么一回事!!但是具体什么原因,不解!

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

float虽然脱离文档流了,但是文档类元素不是环绕float元素吗?也就是不覆盖float元素?

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

是这样的  条条大路通罗马

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

举报

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

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

进入课程

关于三列布局,中间自适应的布局方法

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