一般我们在实现九宫格的时候会将
width:33.33%
和float:left
配合使用,这样格子就会一行三个这样排列了。
但是此时如果给单元添加border,由于单元的整个宽度超出预期,就会出现第三个item下移的情形。
我们可以使用before
和after
来解决这个问题。
<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);
}
网友评论