html结构:
<div id="left"></div> <div id="right"></div>
css代码:
* { box-sizing: border-box; }#left, #right { display: inline-block; vertical-align: top; }#left { width: calc(100% - 205px); /* don't know why additional 5px? */}#right { width: 200px; }
demo:https://codepen.io/anon/pen/N...
一个简单的两栏布局,使用calc()动态计算左边栏的width来为右边栏预留空间。
按照我的理解,#right
是200px,中间没有其他内容,左栏width应该calc(100% - 200px)
就足够了,但是实际测试发现,右栏会被挤到下一行,而至少需要calc(100% - 205px)
才能保证两栏在同一水平线,多出来的5px在哪里被占据了?
在chrome、IE11测试均如此