【发布时间】:2017-04-25 02:48:01
【问题描述】:
我正在尝试使用 15px 彩色边框做出响应式网格布局,它可以正常工作,但是当有多个网格时,它会将边框加倍,即它加入的位置为 30px。
https://jsfiddle.net/exm8xsgx/
html,
body {
height: 100%;
width: 100%;
}
.container {
height: 100%;
width: 100%;
}
.one {
height: 50vh;
width: 25%;
border-style: solid;
border-color: red;
border-width: 15px;
float: left;
}
<div class="container">
<div class="row">
<div class="one">one</div>
<div class="one">two</div>
<div class="one">three</div>
<div class="one">four</div>
</div>
</div>
这是我尝试过的另一种方法。当限制浏览器宽度时,网格开始堆叠,边框再次翻倍,无论是相邻还是堆叠,都应始终为 15px。
https://jsfiddle.net/7bxtt82r/24/
html,
body {
height: 100%;
width: 100%;
}
.container {
height: 100%;
width: 100%;
}
.one:first-child {
height: 50vh;
width: 20%;
border-style: solid;
border-color: red;
border-left-width: 15px;
border-top-width: 15px;
border-bottom-width: 15px;
border-right-width: 15px;
float: left;
}
.one:not(:first-child) {
height: 50vh;
width: 20%;
border-style: solid;
border-color: red;
border-left-width: 15px;
border-top-width: 15px;
border-bottom-width: 15px;
border-right-width: 15px;
float: left;
margin-left: -15px;
}
<div class="container">
<div class="row">
<div class="one">one</div>
<div class="one">two</div>
<div class="one">three</div>
<div class="one">four</div>
</div>
</div>
我也不知道会有多少个网格,所以它们会继续堆叠。
【问题讨论】:
-
为什么不使用媒体查询?
-
试试
box-sizing:border-box; -
@Vivick 如何将 box-sizing:border-box;阻止它翻倍?