如何更正以下电子邮件文本框对齐方式:?
使它看起来像这样:
我知道我可以使用表格,但如何在不使用表格的情况下解决此问题? CSS也许?
HTML:
<form action="" name="contactform" method="post">
<p></p>
First name: <input type="text" class="contact" name="contactfirstname" value="">
<br/>
Last name: <input type="text" class="contact" name="contactlastname" value="">
<br/>
E-mail: <input type="text" class="contact" name="email" value="">
<p></p>
答案 0 :(得分:3)
<强> The most minimalized version I could think of... 强>
<form>
<label>First Name: <input type="text" name="firstName"></label>
<label>Last Name: <input type="text" name="lastName"></label>
<label>Email Address: <input type="email" name="emailAddress"></label>
</form>
和
form {
width: 300px;
}
label {
display: block;
margin: 5px;
padding: 5px;
clear: both;
}
label input {
float: right;
}
由于OP编辑了他的问题以包含他的标记,我将扩大答案。
<p>
元素和<br/>
元素。它们在表单中没有任何价值。<label>
,这就是他们的目的。您可以将标签和包装在<label>
标记内,也可以使用<label for="element_id">Label</label><input id="element_id">
。<br />
格式的单数标签,请同时将其粘贴到<input />
。type="email"
,如果它是有效的电子邮件地址,可以选择让浏览器为您检查!。<p>
和<br>
s。答案 1 :(得分:2)
我假设您的HTML类似于:
<p>
Email
<input />
</p>
将其更改为:
<p>
<label>Email</label>
<input />
</p>
这意味着您可以对所有标签应用固定宽度,使其保持一致:
label
{
width:100px;
float:left;
}
<强> http://jsfiddle.net/zvWqk/1/ 强>
或者正如@Zeta指出的那样,将输入嵌套在标签内,并向右浮动。这样可以防止您需要在标签上应用for
属性。
答案 2 :(得分:0)
使用CSS使标签显示为块元素并具有固定宽度。将输入显示为块元素并将其向左浮动。在标签上放置一个clear:left
,这样它们就会在新的一行上。