h5九宫格添加border会使item错位问题

一般我们在实现九宫格的时候会将width:33.33%float:left配合使用,这样格子就会一行三个这样排列了。

但是此时如果给单元添加border,由于单元的整个宽度超出预期,就会出现第三个item下移的情形。

我们可以使用beforeafter来解决这个问题。

<div class="pure-g error-list">
    <div class="pure-u-1-3">
        <p id="error1">0</p>
        <span>异常</span>
    </div>
    <div class="pure-u-1-3">
        <p id="error2">0</p>
        <span>异常</span>
    </div>
    <div class="pure-u-1-3">
        <p id="error3">0</p>
        <span>异常</span>
    </div>
</div>

css文件

.error-list div:before {
    content: " ";
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    bottom: 0;
    border-right: 1px solid #D9D9D9;
    color: #D9D9D9;
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
    -webkit-transform: scaleX(0.5);
    transform: scaleX(0.5);
}

.error-list div{
    position: relative;
    float: left;
    padding: 20px 10px;
    width: 33.33333333%;
    box-sizing: border-box;
}

.error-list:before {
    content: " ";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    height: 1px;
    border-top: 1px solid #D9D9D9;
    color: #D9D9D9;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: scaleY(0.5);
    transform: scaleY(0.5);
}

猜你喜欢

转载自blog.csdn.net/weixin_34206899/article/details/90994156