我有以下HTML。
<td>
<div id="form_comparison" class="field radio_field">
<input type="radio" id="form_comparison_0" name="form[comparison]" value="1"/>
<label for="form_comparison_0">Increased</label>
<input type="radio" id="form_comparison_1" name="form[comparison]" value="2" />
<label for="form_comparison_1">About the same</label>
<input type="radio" id="form_comparison_2" name="form[comparison]" value="3" />
<label for="form_comparison_2">Decreased</label>
</div>
</td>
使用css,如何垂直放置单选按钮,以便标签在各自的单选按钮之后显示在同一行?
答案 0 :(得分:3)
我不知道你为什么要在td
元素中包装它,如果你正在设计表单布局,而不是忽略表并使用div
来设计表单。回到你的问题,你可以将标签包裹在input
标签周围,并使用display: block;
来label
#form_comparison label {
display: block;
}
使用input
像这样<{1}}包裹每个label
<label for="form_comparison_0">
<input type="radio" id="form_comparison_0" name="form[comparison]" value="1"/>
Increased
</label>
如果您没有任何更改标记的权限,则可以将content
属性与white-space: pre;
一起使用,这将为您提供所需的输出
label:after {
content: "\A";
white-space: pre;
margin-bottom: 10px;
}
Demo(标记中没有变化)
注意:尽量使用
#form_comparison label
代替label
选择并应用您网站中的所有label
元素#form_comparison label
只会在内部选择label
个元素#form_comparison
答案 1 :(得分:1)
浮动您的input
和label
,第二行clear
float
以创建新行:
#form_comparison input {
float: left;
}
#form_comparison label {
float: left;
}
#form_comparison label + input {
clear: both;
}