<MyRusakov.ru />

Разработчик игр на Unreal Engine

Разработчик игр на Unreal Engine

Этот комплект с нуля всего за 7 месяцев сделает Вас Unreal-разработчиком. И при этом учиться достаточно 1 час в день.

Начнёте Вы с основ программирования, постепенно перейдя к C++. Затем очень подробно изучите Unreal Engine, и после научитесь программировать на C++ в Unreal Engine. В конце создадите крупный проект на C++ в Unreal Engine для своего портфолио.

Комплект содержит:

- 416 видеоуроков

- 95 часов видео

- 1024 задания для закрепления материала из уроков

- 3 финальных тестирования

- 4 сертификата

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

HTML id и class: в чём разница и как правильно использовать

HTML id и class: в чём разница и как правильно использовать

Один из частых вопросов у начинающих верстальщиков — HTML id и class: в чём разница и что выбрать для конкретного элемента. На первый взгляд оба атрибута просто «помечают» HTML-теги, но используются они по-разному. Ошибка в выборе может привести к запутанному CSS, неработающему JavaScript, проблемам с якорными ссылками и валидностью страницы.

Коротко: главное отличие id и class

id — это уникальный идентификатор элемента на странице. Один id должен встречаться в документе только один раз.

class — это имя группы или состояния. Один и тот же класс можно назначать множеству элементов, а один элемент может иметь несколько классов.

<section id="about" class="section section-light">
  <h2 class="section-title">О нас</h2>
  <p class="text text-muted">Короткое описание компании.</p>
</section>

В этом примере id="about" нужен для уникального блока «О нас», а классы section, section-light, section-title и другие — для оформления и переиспользования стилей.

Когда использовать id в HTML

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

  • для якорных ссылок;
  • для связи label и поля формы;
  • для связи элементов через ARIA-атрибуты;
  • для точечного обращения из JavaScript, если элемент один.

Пример 1: якорная ссылка

<nav>
  <a href="#contacts">Контакты</a>
</nav>

<section id="contacts">
  <h2>Контакты</h2>
  <p>Напишите нам на email.</p>
</section>

При клике браузер прокрутит страницу к элементу с id="contacts". Если на странице окажется несколько элементов с одинаковым id, поведение станет непредсказуемым и HTML будет невалидным.

Пример 2: label и input

<label for="user-email">Email</label>
<input id="user-email" name="email" type="email">

Атрибут for у label должен совпадать с id поля. Благодаря этому пользователь может нажать на текст «Email», и фокус перейдёт в поле ввода. Это удобно и важно для доступности.

Когда использовать class в HTML

class выбирайте почти всегда, когда речь идёт об оформлении, повторяющихся компонентах и состояниях интерфейса.

<article class="card">
  <h3 class="card-title">Базовый тариф</h3>
  <p class="card-text">Подходит для старта.</p>
</article>

<article class="card card-featured">
  <h3 class="card-title">Премиум тариф</h3>
  <p class="card-text">Больше возможностей.</p>
</article>

Теперь можно задать общий стиль для всех карточек и отдельный стиль для выделенной карточки:

.card {
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 12px;
}

.card-featured {
  border-color: #4f46e5;
  background: #f5f3ff;
}

Такой подход масштабируется: если карточек станет 3, 10 или 100, один класс продолжит работать для всех.

Можно ли использовать id для CSS?

Технически можно:

#header {
  background: #111827;
  color: white;
}

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

Лучше так:

<header class="site-header">
  <nav class="main-nav">...</nav>
</header>

.site-header {
  background: #111827;
  color: white;
}

id и class в JavaScript

В JavaScript id удобно использовать для получения одного конкретного элемента:

const form = document.getElementById("subscribe-form");

А классы — для поиска группы элементов:

const buttons = document.querySelectorAll(".js-open-modal");

buttons.forEach((button) => {
  button.addEventListener("click", () => {
    console.log("Открываем модальное окно");
  });
});

Практический совет: для JavaScript часто удобно заводить отдельные классы с префиксом js-. Они показывают, что класс используется скриптом, а не только CSS. Например: js-menu-toggle, js-tabs-button, js-form.

Типичные ошибки новичков

  • Одинаковые id у нескольких элементов. Так делать нельзя: id должен быть уникальным.
  • Стилизация всего через id. Код становится жёстким и плохо переиспользуемым.
  • Слишком общие имена классов. Классы вроде red, big, block быстро теряют смысл.
  • Использование id вместо name в формах. id связывает элемент с label, а name обычно нужен для отправки данных формы.

Как называть id и class

Имена должны быть понятными и описывать назначение элемента, а не только внешний вид.

<!-- Плохо -->
<div class="blue-box">...</div>
<button class="btn1">Купить</button>

<!-- Лучше -->
<div class="pricing-card">...</div>
<button class="button button-primary">Купить</button>

Для классов часто используют подход БЭМ: блок, элемент, модификатор. Он особенно полезен в больших проектах.

<article class="product-card product-card--hit">
  <h3 class="product-card__title">Ноутбук</h3>
  <p class="product-card__price">75 000 ₽</p>
</article>

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

Мини-шпаргалка: что выбрать

  • Нужно оформить несколько похожих элементов? Используйте class.
  • Нужна уникальная точка для якорной ссылки? Используйте id.
  • Нужно связать label с полем формы? Используйте id у поля и for у label.
  • Нужно повесить одинаковое поведение на несколько кнопок? Используйте class.
  • Сомневаетесь, чем стилизовать элемент? Почти всегда выбирайте class.

Итог

Разница между id и class в HTML проста: id — для уникального элемента, class — для групп, стилей и повторяемых компонентов. Хорошая практика — использовать id точечно, а основную вёрстку и CSS строить на классах. Так код будет понятнее, гибче и легче поддерживаться.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (https://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: https://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.