如何让输入单选元素水平对齐?
我希望这些无线电输入横跨屏幕,而不是一个在另一个之下:
I want these radio inputs to stretch across the screen, rather than one beneath the other:
HTML
<input type="radio" name="editList" value="always">Always
<br>
<input type="radio" name="editList" value="never">Never
<br>
<input type="radio" name="editList" value="costChange">Cost Change
CSS
input[type="radio"] {
margin-left:10px;
}
http://jsfiddle.net/clayshannon/8wRT3/13/
我一直在研究显示属性,并在谷歌上搜索,然后砰(砰?撞?)寻找答案,但还没有找到答案.
I've monkeyed around with the display properties, and googled, and bang (bung? binged?) for an answer, but haven't found one.
推荐答案
在你的情况下,你只需要删除元素之间的换行符(<br> 标签) - input 元素默认是 inline-block (至少在 Chrome 中).(更新示例).
In your case, you just need to remove the line breaks (<br> tags) between the elements - input elements are inline-block by default (in Chrome at least). (updated example).
<input type="radio" name="editList" value="always">Always
<input type="radio" name="editList" value="never">Never
<input type="radio" name="editList" value="costChange">Cost Change
<小时>
不过,我建议使用 <label> 元素.这样做时,单击标签也会检查元素.将 <label> 的 for 属性与 <input> 的 id 相关联:(示例)
I'd suggest using <label> elements, though. In doing so, clicking on the label will check the element too. Either associate the <label>'s for attribute with the <input>'s id: (example)
<input type="radio" name="editList" id="always" value="always"/>
<label for="always">Always</label>
<input type="radio" name="editList" id="never" value="never"/>
<label for="never">Never</label>
<input type="radio" name="editList" id="change" value="costChange"/>
<label for="change">Cost Change</label>
..或直接将 <label> 元素包裹在 <input> 元素周围:(示例)
..or wrap the <label> elements around the <input> elements directly: (example)
<label>
<input type="radio" name="editList" value="always"/>Always
</label>
<label>
<input type="radio" name="editList" value="never"/>Never
</label>
<label>
<input type="radio" name="editList" value="costChange"/>Cost Change
</label>
您也可以花哨并使用 :checked 伪类.
You can also get fancy and use the :checked pseudo class.
相关文章