2012-03-31 3 views
5

Вот мой код:Выравнивание Textboxes через 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> 

Как вы можете догадаться, этот код отображает текст, а затем имеет несколько текстовых полей после этого текста.

Мой вопрос заключается в следующем: я хочу выровнять все текс-боксы так, чтобы они были выровнены. Я добавил пробелы после текста, но текстовые поля просто появляются сразу после текста, игнорируя пробелы, которые я ввел. Каков наилучший, самый эффективный способ сделать это? Может быть, стол?

благодарит

+0

Таблица - самый простой способ. Надеюсь, полиция стола будет представлена ​​и покажет вам, как это сделать с помощью div. –

+4

@RobertHarvey Ну, как это сложно? http://jsfiddle.net/24nnv/2/ –

ответ

0

Вы также можете сделать все текстовые поля появляются один под другим в центре экрана. Он будет выглядеть единообразно.

1

В HTML непрерывные пробелы принимаются только в одном пространстве. Так что вам нужно HTML специальный символ для пространства, то есть &nbsp;

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

Но это грязный путь. Это не стандартный способ сделать это. Кроме того, это не гарантирует, что текстовые поля будут выравниваться так же, пока вы не будете использовать некоторые монопространственные шрифты.

Итак, вы должны рассмотреть либо тег <TABLE>, либо CSS.

+0

Вишну: Не могли бы вы привести пример добавления текстовых полей в таблицу. Благодарю. – Garry

+0

http://stackoverflow.com/questions/4122645/how-to-fit-textbox-in-the-table-cell –

+1

-1 для указания таблицы, где это не нужно. –

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, маржинальный-право: 30px; строка сообщает, как далеко друг от друга поставить ярлык и текстовое поле

Установка ширины набора полей создает, по существу, коробку вокруг нее, и вы можете установить ее ширину, если вам нужно сделать больше ярлыков.

Надеюсь, что это поможет.

Мартин

+0

Спасибо, Мартин. Это хорошо работает. Вопрос. Каков наилучший способ выравнивания меток и текстовых полей в центре, при этом все же имеют поля 30px? – Garry

+0

Я предполагаю, что вы имеете в виду в центре страницы, вы можете изменить css для набора полей, чтобы он был центральным. Отредактировал мой ответ, чтобы включить margin: 0px auto; в полевом поле css – SmithMart

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> 

таблица является единственным способом, чтобы сделать столбцы выровненных таким образом, что первый столбец занимает только ширину, необходимую (ширину самой длинной метки). Любой другой подход заставляет вас задуматься о ширине, и результаты неизбежно будут меняться, и код не будет устойчивым (ширина должна быть отрегулирована всякий раз, когда изменяется длина самой длинной метки).

Смежные вопросы