<div id="outerDiv">
<div id="innerDiv"></div>
<div id="remainderDiv"></div>
</div>
#outerDiv, #innerDiv, #remainderDiv{
height: 100px;
}
#outerDiv{
width: 55.5px;
z-index: 1;
background-color: red;
}
#innerDiv{
width: calc(100% - 10px);
z-index: 100;
background-color: blue;
float: left;
}
#remainderDiv{
width: 10px;
z-index: 100;
background-color: green;
float: left;
}
结果: http://i.imgur.com/DYor2yb.png
这个示例展示了Chrome 37中的一个问题。在具有十进制像素的元素上使用calc(100% - 10px)函数时,它总是向下取整。这会导致奇怪的事情发生。
在该示例中,外部div的宽度为50.5像素。两个内部div的宽度分别为calc(100% - 10px)和10px。即使应该总共是50.5,它仍然显示红色背景。
问题似乎在Chome 37中引入。有人知道这个问题是否已被报告或者是否会解决吗?
编辑:我从评论中了解到问题已经存在较长时间。是否有任何(跨浏览器的)简洁方法来解决此问题?
px
单位。这里也有同样的问题,但是使用了em
。(这是将 px 转换为 em 的懒人方法) - misterManSamcalc
向下舍入不是一个bug吗? - misterManSamcalc
向下舍入,而width
向上舍入。真是疯狂!! - misterManSam