【发布时间】:2017-05-14 03:33:46
【问题描述】:
我正在尝试以下内容,发现了两件事:
-
即使我将按钮的边距设置为 0,按钮的左/右仍然有一个
1234563或设置为 0px,似乎按钮的边框包含在2px空格,为什么(我必须使用 -2px 来删除空格)?20%宽度中,但对于 span 和 div,边框添加到20%?谁能解释一下?
提前致谢。
button {
height: 25px;
width: calc(100% / 5);
margin: 0;
padding: 0;
background: white;
}
.test,div,span {
margin: 0 -2px;
}
div,span {
height: 25px;
width: calc(100% / 5);
margin: 0 -2px;
padding: 0;
border: 2px solid black;
background: lightblue;
display: inline-block;
}
.noborder {
height: 25px;
width: calc(100% / 5);
margin: 0 -2px;
padding: 0;
border: none;
background: lightblue;
display: inline-block;
}
.aqua{
background: aqua;
}
button (margin: 0px):
<br><br>
<button>Btn 1</button>
<button>Btn 2</button>
<button>Btn 3</button>
<button>Btn 4</button>
<button>Btn 5</button>
<hr>
button (margin: 0 -2px):
<br><br>
<button class="test">Btn x1</button>
<button class="test">Btn x2</button>
<button class="test">Btn x3</button>
<button class="test">Btn x4</button>
<button class="test">Btn x5</button>
<hr>
div:(margin: -2px)<br>
border: 2px solid black;
<br><br>
<div>Btn 1</div>
<div>Btn 2</div>
<div>Btn 3</div>
<div>Btn 4</div>
<div>Btn 5</div>
<hr>
span:(margin: -2px)<br>
border: 2px solid black;
<br><br>
<span>Btn 1</span>
<span>Btn 2</span>
<span>Btn 3</span>
<span>Btn 4</span>
<span>Btn 5</span>
<hr>
div:(margin: -2px)<br>
border: none;
<br><br>
<div class="noborder">Btn 1</div>
<div class="noborder aqua">Btn 2</div>
<div class="noborder">Btn 3</div>
<div class="noborder aqua">Btn 4</div>
<div class="noborder">Btn 5</div>
<hr>
span:(margin: -2px)<br>
border: none;
<br><br>
<span class="noborder">Btn 1</span>
<span class="noborder aqua">Btn 2</span>
<span class="noborder">Btn 3</span>
<span class="noborder aqua">Btn 4</span>
<span class="noborder">Btn 5</span>
【问题讨论】:
-
对于任何内联元素都是一样的。 Use block display 后面没有空格。
-
它们之间有空格字符。这占用了……嗯,空间。尝试删除那些。