Примеры: Таблицы и формы

Кратко

Под каждым примером — реальный отрендеренный результат (таблица или форма). Сравните его с кодом, измените значение и проверьте в браузере.

Рабочие примеры

В каждом блоке сверху — живой результат, ниже — код, который его создаёт. Поля формы реально работают: их можно заполнять.

1. Базовая таблица: thead + tbody

Шапка с заголовками th и тело с данными td.

Навык Уровень
HTMLНачальный
CSSИзучаю
<table>
  <thead>
    <tr><th>Навык</th><th>Уровень</th></tr>
  </thead>
  <tbody>
    <tr><td>HTML</td><td>Начальный</td></tr>
    <tr><td>CSS</td><td>Изучаю</td></tr>
  </tbody>
</table>

2. colspan — объединение ячеек по столбцам

Заголовок «Контакты» растянут на 2 столбца через colspan="2".

Контакты
Способ Значение
E-mailme@site.ru
Телефон+7 900 000-00-00
<tr>
  <th colspan="2">Контакты</th>
</tr>
<tr>
  <th>Способ</th><th>Значение</th>
</tr>

3. Форма: label + input + валидация

Подписи кликабельны (клик ставит курсор в поле), у полей есть type и required.

<form action="/contact" method="post">
  <label for="email">E-mail</label>
  <input id="email" name="email" type="email" required>

  <label for="password">Пароль</label>
  <input id="password" name="password"
         type="password" minlength="8" required>

  <button type="submit">Отправить</button>
</form>

4. select и textarea

Выпадающий список из option и многострочное поле textarea.

<label for="topic">Тема обращения</label>
<select id="topic" name="topic">
  <option value="bug">Сообщить об ошибке</option>
  <option value="idea">Предложить идею</option>
  <option value="other">Другое</option>
</select>

<label for="message">Сообщение</label>
<textarea id="message" name="message" rows="3"></textarea>

5. CSS для аккуратной таблицы и формы

border-collapse: collapse убирает двойные рамки; поля делаем блочными, чтобы они шли в столбик.

AB
12
table {
  border-collapse: collapse; /* рамки сливаются в одну */
}

label,
input,
textarea,
select {
  display: block;       /* каждое поле с новой строки */
  margin-bottom: 0.75rem;
}