【发布时间】:2014-02-27 01:09:31
【问题描述】:
我正在使用如下表格:
<form action="#" method="post">
<div class="row">
<label for="email">E-Mail</label>
<input type="text" name="email" id="email">
</div>
<div class="row">
<label for="password">Password</label>
<input type="password" name="password" id="password">
<br>
<label for="passwordRepeat">Repeat Password</label>
<input type="password" name="passwordRepeat" id="passwordRepeat">
</div>
<div class="row">
<label for="phonenumber">Phone Number</label>
<input type="text" name="phonenumber" id="phonenumber">
</div>
</form>
具有以下样式:
.row {
background-color: #eee;
margin-bottom: 10px;
padding: 5px;
}
.row > * {
display: inline-block;
vertical-align: middle;
}
.row > label {
width: 200px;
}
看看JSFiddle。
我正在使用<br> 标记来打破具有display: inline-block 属性的一组元素之间的界限。我知道使用 <br> 而不是边距和填充当然是不好的做法。这就是它变得如此不受欢迎的原因。
据我所知,没有充分的理由不在内联元素中使用单个 <br> 标记,因为它的意图是:作为文本中的换行符而不创建新的文本部分。使用display: inline-block,您可以模拟块元素的内联行为。元素之间的空格就像它们在行内元素中一样。
在我的例子中,使用<br> 而不是两个包装器<div>。我确实喜欢我的 HTML 代码干净,所以我在使用许多包装器 <div> 时犹豫不决。在这种情况下使用<br> 是不好的做法吗?如果您只是阅读 HTML 文件,我认为这里会发生什么很清楚。您对此有何看法(一般对<br> 没有任何预判)?
【问题讨论】:
-
嗨@peter。我个人认为你在这里使用
<br>很好。但我看到了反对的论点(但那些反对你在这里使用它的人,一定真的是挑剔)-fwiw-通过设置添加 css 以导致“中断”{ margin-bottom:0.5em; }/ 或类似内容,可以实现相同的目的。这就是inline-block元素的好处 嘿,它的行为类似于inline元素,但需要边距和填充。