在chrome上看到的margin范围
html代码:
<div class = "article">
<div class = "left">sldkfjlsj</div>
<div class = "middle">lksdflmsddssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssslksmflmsgmfmg;df;g,df;gl,f;,gd;fl,g;fl,g;ldf,;gldf;mgkdfgdfmgpfmgpsomgpsmgpspgmspmgosmgmspgomsgmspgmspgomspgmpsogflmsldfmsldmflsfm</div>
<div class="right"><img src="glm.jpg"></div>
</div>
css代码:
body {margin: 0px; padding:20px;}
.article { background-color: #eee; padding:20px; border:2px solid #999; overflow: hidden;}
.left {position: absolute; top:40px; left:40px; width:160px; padding:20px; border: 2px solid #999; background-color: #fff;}
.right {position: absolute; top: 40px; right: 40px; padding: 20px; width: 80px; background-color: #fff; border: 2px solid #999;}
.middle {position: absolute; margin-left: 220px; margin-right: 180px; background-color: #fff; border: 2px solid #999; padding:20px; word-break: break-all;}
img {width:80px;}
本来想做三栏式布局,后来发现高度不能自适应,就放弃了这种方法.但过程中发现了这个不能理解的现象.我猜想可能是父容器没定width的原因,但发现定了后还是不行,这是怎么回事呢?
article不是relative的,里面三个absolute都是相对于body的。
middle的四个方位也没有定义,盒模型应该是和left挨着的,而且没有块状上下文,margin就盖在了left上。右边由于相对于body绝对,margin从body起也是正常的
三列布局可以尝试一下flex布局,或者给middle一个left