我来自 iOS 背景,在 HTML 中布局元素和使用 CSS 时遇到了麻烦。我想创建像这样“简单”的东西:
我希望能够将屏幕拆分为单独的 div,但让所有字段集相互对齐。(它们是字段集,但我没有在我的原始模型中绘制它们。我也没有在第三个盒子里放任何东西,但里面还有更多东西)。
但这里有一些我的问题:
方框 1 问题:我的所有元素基本上都有style="display:block;"
。如果我有一个总体 div 作为style=display:block
,我不会得到相同的效果。有没有更好的方法来做到这一点?
方框 2 一般问题:我最终对所有样式进行了硬编码,以实现显示的图像。它似乎不太有用或可扩展。我应该从任何一般原则开始?
<div style="display:inline-block; vertical-align:top; float:left; width:25%">
<fieldset>
<legend>First fieldset</legend>
<div style="display:block;">field 1
<input type="text" style="display:block;" />
</div>
<div style="display:block;">field 2
<select style="display:block;">
<option>field 2 options</option>
</select>
</div>
<div style="display:block;">field 3
<input type="text" style="display:block;" />
</div>
</fieldset>
</div>
<div style="display:inline-block; vertical-align:top; width:33%">
<fieldset>
<legend>Second fieldset</legend>
<div style="clear:both"></div>
<div class="one-half" style="display:inline-block; float:left;">
<input type="radio" name="scoops" />Single
<div style="display: block">Radio 1</div>
<div style="display: inline">Radio 2
<input type="text" />
</div>
<div style="display: block">
<input type="checkbox" />Radio 3</div>
</div>
<div class="one-half" style="display:inline-block;">
<input type="radio" name="scoops" />Double
<div style="display: block">Blah 1</div>
<div style="display: inline">Blah 2
<input type="text" />
</div>
<div style="display: block">
<input type="checkbox" />Blah 3</div>
</div>
</fieldset>
</div>