Я не знаю, как вы, ребята, но я не использую много разметки для макета формы.
Вот разметка для простой формы входа в систему (без разметки макета, т. Е. Div, таблиц и т. Д.)
<form method="post">
<label>Username</label>
<input type="text" name="username" />
<label>Password</label>
<input type="password" name="password" />
<input type="submit" name="Log In" />
</form>
Вот CSS для формы
label,input{float:left}
label,input[type="submit"]{clear:left}
Вот результат
![The rendered result of the above HTML and CSS](https://i.stack.imgur.com/KFWwm.jpg)
Удивительная вещь об этом:
- Отсутствие разметки
- Отсутствие CSS
- Гибкость
Если вы посмотрите на css, элемент label
очищается влево (и перемещается влево). Это означает, что метка будет всплывать со своими собратьями input
с, однако каждые label
будут новой строкой.
Это делает ОЧЕНЬ ЛЕГКИМ добавление дополнительных входов. Четные сообщения проверки после ввода
Возьмите эту форму, например
<form method="post">
<label>Name</label>
<input type="text" name="username" />
<label>Password</label>
<input type="password" name="password" />
<label><abbr title="Date of Birth">D.O.B.</abbr></label>
<input type="text" name="dob_day" />
<input type="text" name="dob_month" />
<input type="text" name="dob_year" />
<input type="submit" name="Log In" />
</form>
С этим CSS
label,input{float:left}
label,input[type="submit"]{clear:left}
input[name^="dob_"]{width:44px;margin:2px}
label{width:70px}
Получаем
![The rendered result of the above HTML and CSS](https://i.stack.imgur.com/CJgBU.jpg)
Это действительно так просто:)
Используя эту концепцию, вы создаете огромное количество возможностей, и вам больше никогда не придется использовать таблицу для разметки!