1

我不打算用语言来解释这一点,只要看看这个小提琴: https ://jsfiddle.net/fhf8rwno/4/

 <div class="container">
    <div class="row">
        <div class="col-xs-6">
            <div class="myBox" style="height:100px;background-color:#000;">
            <div class="row no-gutter">
                <div class="col-xs-7">
                    blbalbalabla
                </div>
                <div class="col-xs-5" style="height:100px;background-color:red;">
                    wowowowo
                </div>
            </div>
            </div>
        </div>
     </div>
    </div>

在 Chrome 或 Firefox(可能还有其他浏览器)中,在调整浏览器宽度时观察红色列。您应该注意到,在浏览器端的每一次更改中,父容器的右边缘都会出现一个像素宽的间隙,从而允许父背景通过。

如果我改为使用col-xs-6而不是col-xs-7and col-xs-5,问题就会消失。因此,由于列比率的奇数/偶数混合,浏览器的像素数学似乎可能会导致这种情况。

这可能看起来不多,但我正在开发的网站大量使用这种模式,一半的用户看到一些非常明显且难看的黑线。

有什么想法或建议的黑客吗?

4

2 回答 2

1

编辑:这是实现此目的的一种hacky方式。http://jsfiddle.net/fhf8rwno/8/

CSS

.row.no-gutter {
  margin-left: 0;
  margin-right: 0
}

.row.no-gutter [class*='col-'],
.row.no-gutter [class*='col-'] {
  padding-right: 0;
  padding-left: 0;
}

HTML

<div class="container">
    <div class="row">
        <div class="col-xs-6">
            <div class="myBox" style="height:100px;background-color:#000;">
            <div class="row no-gutter">
                <div class="col-xs-7">
                    blbalbalabla
                </div>
                <div class="col-xs-5" style="height:100px;background-color:red; position: relative; right: -1px;">
                    wowowowo
                </div>
            </div>
            </div>
        </div>
    </div>
</div>
于 2015-08-21T15:06:15.977 回答
0

我和一位同事已经达成了一个半解决方案,但我暂时不会接受这个答案,以防有人想出一些不那么骇人听闻的东西。

将最后一列的边距移动一个似乎有助于解决这个问题:

.row.no-gutter [class*='col-']:last-child {
    margin-right:-1px;
    margin-left:1px;
}

https://jsfiddle.net/fhf8rwno/6/

于 2015-08-21T15:23:09.240 回答