我有非常基本和已知的形式,我需要对齐标签旁边的输入正确的情况下。但是我不知道怎么做。
我的目标是将标签与右侧的输入对齐。以下是预期结果的图片示例。
为了您的方便,我做了一个小提琴,以澄清我现在所拥有的-http://jsfiddle.net/WX58z/
片段:
<div class="block">
<label>Simple label</label>
<input type="text" />
</div>
<div class="block">
<label>Label with more text</label>
<input type="text" />
</div>
<div class="block">
<label>Short</label>
<input type="text" />
</div>
8条答案
按热度按时间xvw2m8pv1#
警告:过时的答案
现在你应该避免使用固定的宽度。您可以使用flexbox或CSS grid来提出响应式解决方案。查看其他答案。
一个可能的解决方案:
width
设置display: inline-block
即:
JSFiddle
du7egjpx2#
虽然这里的解决方案是可行的,但更新的技术已经为我认为是更好的解决方案做出了贡献。CSS Grid Layout 允许我们构建更优雅的解决方案。
下面的CSS提供了一个2列的“设置”结构,其中第一列应该是右对齐的标签,然后是第二列中的一些内容。更复杂的内容可以在第二列中显示,方法是将其 Package 在。
[As旁注:我使用CSS来添加每个标签后面的':',因为这是一个风格元素-我的偏好。]
s1ag04yj3#
之前回答过这样的问题,可以在这里看看结果:
Creating form to have fields and text next to each other - what is the semantic way to do it?
因此,要将相同的规则应用于fiddle,您可以使用
display:inline-block
并排显示标签和输入组,如下所示:CSS
updated fiddle
r7xajy2e4#
我使用类似的东西:
款式:
nwsw7zdq5#
我知道这是一个老线程,但更简单的解决方案是在标签中嵌入一个输入,如下所示:
5ssjco0h6#
您也可以尝试使用flex-box
r7xajy2e7#
你可以这样做:
HTML:
CSS:
希望这有帮助!:)
6rqinv9w8#
这里是所有表单标签的通用标签宽度。没有固定的宽度。
使用所有标签调用setLabelWidth计算器。此函数将加载UI上的所有标签并找出最大标签宽度。将以下函数的返回值应用于所有标签。