我正在使用以下类似的表单:
<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>
而不是margin和padding当然是不好的做法。这就是它变得如此不受欢迎的原因。据我所知,在内联元素中使用单个
<br>
标签没有什么不好的理由,因为它旨在作为文本中的换行符,而不会创建新的文本部分。通过display: inline-block
,您可以将内联行为模拟到块元素中。元素之间的空格显示为内联元素中的空格。
在我的情况下,<br>
代替了两个包装器<div>
。我喜欢我的HTML代码整洁,所以我犹豫是否使用太多的包装器<div>
。在这种情况下使用<br>
是否是不好的做法?如果您只读取HTML文件,我认为这非常清楚。您对此有何看法(没有关于<br>
的任何偏见)?
<br>
是可以的。但我也看到了反对的观点(但那些反对你在这里使用它的人,可能真的很挑剔)- fwiw - 可以通过添加CSS来实现相同的效果,例如设置{ margin-bottom:0.5em; }
/ 或类似的样式。这就是inline-block
元素的好处,它们像inline
元素一样运作,但可以有边距和填充。 - Rob Sedgwick