【发布时间】:2016-03-27 00:59:17
【问题描述】:
如何去除似乎是由像素舍入错误引起的黑线?这似乎只是 Chrome 的问题,Firefox 似乎在进行更智能的舍入并完美呈现。
这个问题有简单的解决方案吗?
这是 Chrome 的呈现方式:
.container {
height: 100px;
width: 100%;
background-color: black;
display: flex;
flex-flow: nowrap column;
}
.row {
background-color: lightgreen;
flex: 1 1 auto;
}
<div class="container">
<div class="row"></div>
<div class="row"></div>
<div class="row"></div>
<div class="row"></div>
<div class="row"></div>
<div class="row"></div>
<div class="row"></div>
</div>
【问题讨论】:
-
我怀疑是否存在——这取决于每个浏览器如何选择呈现子像素值/维度。请记住,您的代码将要求 flexbox 在每个子项之间均匀地重新分配剩余空间,这意味着您很可能会得到计算出的子项宽度的小数值。
-
您可以尝试填补 .. 的空白吗? ...与
box-shadow:0 1px lightgreen.My chrome(w7) 并没有搞砸。你玩过缩放吗? -
只是为了让您知道:在 MacOS 上的 Chrome 47 中没有线条 - 只是一个全绿色区域
-
您是否尝试过
margin: 0;,或删除 任何 div 之间的空格(即没有换行符)? -
@Johannes 我想我解决了这个问题。我启用了系统范围的 DPI 缩放(适用于高分辨率显示器)。当我禁用它(并再次登录)时,chrome 会完美呈现它。所以这看起来完全是 Chrome 的错。我想对此无能为力,所以我将其标记为已解决?
标签: css google-chrome flexbox