【发布时间】:2020-10-28 21:31:02
【问题描述】:
如果我使用float: left 将多个框(div)堆叠在一起并设置border: 1px solid black,则相邻框之间将有2px 的边框。 (垂直在盒子之间,当盒子移动到下一行时也是水平的。)
//html
<div class=boxes>
<div class="box">1</div>
<div class="box">1</div>
<div class="box">1</div>
<div class="box">1</div>
<div class="box">1</div>
<div class="box">1</div>
<div class="box">1</div>
<div class="box">1</div>
<div class=last></div>
</div>
//css
.boxes {
display: inline-block;
}
.last {
clear: both;
}
.box {
width: 200px;
height: 50px;
border: 1px solid gray;
line-height: 50px;
text-align: center;
float: left;
position: relative;
}
如何实现类似的布局,相邻块之间只有一个像素边框?
我想为父容器添加一个“左上角”边框,然后只为单个框设置“右下角”边框。这部分可行,但如果框列表流到下一行,那么顶部会有一条可见的线。
.boxes {
border-top: 1px solid gray;
border-left: 1px solid gray;
display: inline-block;
overflow: hidden;
}
.last {
clear: both;
}
.box {
width: 200px;
height: 50px;
border-bottom: 1px solid gray;
border-right: 1px solid gray;
line-height: 50px;
text-align: center;
float: left;
position: relative;
}
【问题讨论】: