我在理解 css 时遇到以下问题。
我有一个注册表。在那种形式中,我使用了一个字段集。现在我想在每一行旁边放置两个输入字段。上面的每个字段也应该有一个标签。
所以我想要实现的是:
label 1 label 2
_______________ _______________
(_______________) (_______________)
label 3 label 4
_______________ _______________
(_______________) (_______________)
我是 CSS 新手,在理解 float 和 clear 方面存在一些问题。
到目前为止,我有以下结构:
_______________
label 1 (_______________)
_______________
label 2 (_______________)
_______________
label 3 (_______________)
_______________
label 4 (_______________)
这是我的想法:
我将字段集设置为特定的高度和宽度:
fieldset { height: 330px; width: 550px;}
之后我用来为我的标签和输入设计设置信息:
label { font-family: Arial, Helvetica, sans-serif;
font-size: 20px;
font-weight: bold;
color: #ECECEC;
text-decoration: none;
width: 100px;
}
input {
width: 250px;
height: 25px;
color:#bababa;
padding:5px;
font-size: 12px;
-moz-border-radius: 6px;
}
到目前为止的设计。现在我想,由于旁边的 2 个列,我想实现它需要每一个都浮动。所以我建立了这两个类:
.fl { float: left; margin-bottom:15px;}
.fd { clear: left; margin-bottom:15px;}
在类 fl float 中,意味着将 box1 设置为浮动属性,即 box2 将位于其左侧。fd 类将用于下一行。这样 box3 将分成另一行。边距只是为了在每个字段之间保留一些空间。
在我的 html 中,我得到了以下代码:
<form>
<fieldset>
<legend>Headline for fieldset</legend>
<ul>
<li class="fl">
<label for="label1">label 1</label>
<input type="text" id="label1" name="label1" tabindex="10" autocomplete="off">
</li>
<li class="fl">
<label for="label2">label2</label>
<input type="text" id="label2" name="label2" tabindex="20" autocomplete="off">
</li>
<li class="fd">
<label for="label3">label3</label>
<input type="text" id="label3" name="label3" tabindex="30" autocomplete="off">
</li>
<li class="fl">
<label for="label4">label4</label>
<input type="text" id="label4" name="label4" tabindex="40" autocomplete="off">
</li>
</ul>
</fieldset>
</form>
所以我有以下问题:
1. 我怎样才能将标签放置在输入字段上方?
2. 我怎样才能达到将它们放在旁边的主要目标?
3. 如何调整一行输入字段之间的间距?
如果有人可以帮助我,我真的很感激。多谢。