通过HTML对齐文本框

时间:2012-03-31 06:21:29

标签: html

这是我的代码:

Classroom name:                <input type="text" name="txtClassroomName" size="20"><br>
School name:                   <input type="text" name="txtSchoolName" size="20"><br>
School contact email address:  <input type="text" name="txtSchoolEmail" size="20"><br>
School address:                <input type="text" name="txtSchoolAddress" size="20"><br>
School telephone number:       <input type="text" name="txtTelephoneNumber" size="20"><br>

正如您可能猜到的,此代码显示一些文本,然后在此文本后面有一些文本框。

我的问题是:我想对齐所有的texbox,以便它们对齐。我在文本后添加了空格,但文本框只是在文本后面直接显示,忽略了我输入的空格。这样做的最佳,最有效的方法是什么?也许是一张桌子?

感谢

4 个答案:

答案 0 :(得分:8)

通常你会用css为你做这件事。在你的css文件中添加:

label{
display:inline-block;
width:200px;
margin-right:30px;
text-align:right;
}

input{

}

fieldset{
border:none;
width:500px;
margin:0px auto;
}

然后在html中,您可以在文本框旁边设置标签:

<fieldset>
<label for="txtClassroomName">Classroom name:</label><input type="text" name="txtClassroomName" size="20">
<label for="txtSchoolName">School name:</label><input type="text" name="txtSchoolName" size="20">
<label for="txtSchoolEmail">School contact email address:</label><input type="text" name="txtSchoolEmail" size="20">
<label for="txtSchoolEmail">School address:</label><input type="text" name="txtSchoolAddress" size="20">
<label for="txtSchoolEmail">School telephone number:</label><input type="text" name="txtTelephoneNumber" size="20">
</fieldset>

在css文件中,margin-right:30px; line告诉它放置标签和文本框的距离

设置字段集宽度基本上会创建一个圆形框,如果需要更大的标签,可以设置它的宽度。

希望有所帮助。

Martyn

答案 1 :(得分:3)

<table>
<tr><td><label for="txtClassroomName">Classroom name:</label>                
  <td><input type="text" name="txtClassroomName" id="txtClassroomName" size="20">
<tr><td><label for="txtSchoolName">School name:</label>
  <input type="text" name="txtSchoolName" id="txtSchoolName" size="20"><br>

...
</table>

表格是使列对齐的唯一方法,以便第一列仅占据所需的宽度(最长标签的宽度)。任何其他方法都会强制您对宽度进行猜测,结果将不可避免地发生变化,并且代码不会很稳健(只要最长标签的长度发生变化,就需要调整宽度)。

答案 2 :(得分:1)

在HTML中,连续SPACE仅作为单个空格。因此,您需要SPACE的HTML特殊字符,即&nbsp;

Classroom name:&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="txtClassroomName" size="20"><br>

但是,这是一种肮脏的方式。这不是标准的方法。此外,在使用某些单声道空格字体之前,这并不能确保文本框是否对齐。

因此,您应该考虑使用<TABLE>代码或CSS。

答案 3 :(得分:0)

您还可以将所有文本框显示在屏幕中央的另一个下方。看起来会很均匀。