【发布时间】:2017-12-26 17:07:42
【问题描述】:
如果不使用表格或display:table,是否可以在输入左侧为标签提供灵活的宽度区域?出于浏览器兼容性的原因,我还想避免使用网格布局。我希望 css 来解决这个问题:
short_label input_box____________________
tiny_label input_box____________________
medium_label input_box____________________
然后也相应地处理更大的标签:
short_label input_box__________
medium_label input_box__________
very_extra_long_label input_box__________
但我不想:
short_label input_box__________
tiny_label input_box__________
medium_label input_box__________
所以第一列需要有一个灵活的宽度,第二列需要增长以填充空间。理想情况下,我的 html 看起来像这样,但如有必要,可以添加“行”div。我觉得有一个灵活的答案,但可能不是因为所有行都需要对齐。
<div class='aligned_form'>
<label for='a'>short_label</label>
<input type='text' id='a'>
<label for='b'>medium_label</label>
<input type='text' id='b'>
<label for='c'>very_extra_long_label</label>
<input type='text' id='c'>
</div>
【问题讨论】:
-
根据文档 (v4-alpha.getbootstrap.com/components/forms/#using-the-grid),您应该为此使用网格。哪些浏览器兼容性问题会阻止您使用 Grid,但仍然允许使用 Bootstrap v4?
-
引导网格对我的需要来说太死板了。我需要第一列具有灵活的宽度。我不能只说 col-3 和 col-9。我的意思是我不想使用 display:grid 来与浏览器兼容。如果有引导网格解决方案,我愿意接受。
-
你为什么不用一张桌子?您显然是在寻找表格的行为,所以我不会将其称为不好的做法。
标签: html twitter-bootstrap css flexbox