burger-menu
меню

Формы и таблицы в HTML: просто, понятно и без занудства

Формы: введение и основные элементы

Форма (<form>) — это контейнер, в котором пользователь вводит данные и отправляет их на сервер.

Тег <form> и его атрибуты

<form action="https://example.com/submit" method="POST">
  <!-- Здесь будут поля ввода и кнопка отправки -->
</form>

Поля ввода: <input>

Тег <input> бывает разным, в зависимости от типа данных. Вот самые популярные:

<input type="text" placeholder="Введите текст">
<input type="email" placeholder="Ваш email">
<input type="password" placeholder="Пароль">
<input type="number" placeholder="Введите число">
<input type="date">
<input type="file">

Результат:

Чекбоксы и радиокнопки

Чекбоксы (checkbox) позволяют выбрать несколько значений, а радиокнопки (radio) — только одно из группы.

<label><input type="checkbox" checked> Я согласен с условиями</label>
<label><input type="checkbox"> Подписаться на рассылку</label>

<label><input type="radio" name="gender" value="male"> Мужской</label>
<label><input type="radio" name="gender" value="female"> Женский</label>

Результат:

У радиокнопок должен быть один name, чтобы они работали как группа.

Кнопки: <button> и <input type="submit">

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

Результат:

Лайфхак: Валидация форм встроенными атрибутами

Зачем писать кучу JS-кода для проверки полей, если HTML уже умеет это сам?

<input type="email" required>
<input type="password" minlength="6" required>
<input type="text" pattern="[A-Za-z]+" title="Только буквы">

Результат при наведении на поле ввода курсором:

Браузер сам покажет ошибку, если данные введены неправильно!

Таблицы

Базовые теги

Таблица (<table>) — это мощный инструмент для отображения структурированных данных.

<table>
  <caption>Список пользователей</caption>
  <tr>
    <th>ID</th>
    <th>Имя</th>
    <th>Email</th>
  </tr>
  <tr>
    <td>1</td>
    <td>Алекс</td>
    <td>alex@example.com</td>
  </tr>
</table>

Теги:

Объединение ячеек: rowspan, colspan

Иногда нужно объединить несколько ячеек по вертикали или горизонтали.

<table border="1">
  <tr>
    <th rowspan="2">Имя</th>
    <th colspan="2">Контакты</th>
  </tr>
  <tr>
    <th>Email</th>
    <th>Телефон</th>
  </tr>
  <tr>
    <td>Алекс</td>
    <td>alex@example.com</td>
    <td>+123456789</td>
  </tr>
</table>

Стилизация таблиц с CSS

Голая таблица выглядит скучно. Давай добавим ей стиля!

table {
  width: 100%;
  border-collapse: collapse;
}

th, td {
  border: 1px solid #ddd;
  padding: 10px;
  text-align: left;
}

th {
  background-color: #f4f4f4;
}

tr:nth-child(even) {
  background-color: #f9f9f9;
}

Фишки:

Лайфхак: Адаптивные таблицы

Таблицы плохо адаптируются к мобильным экранам, но есть решение!

table {
  display: block;
  overflow-x: auto;
  white-space: nowrap;
}

Итог: теперь при узком экране таблица прокручивается горизонтально вместо того, чтобы ломаться.

arrow-up