Атрибут class — HTML — Дока
Кратко
СкопированоУниверсальный атрибут тега, с помощью которого можно задать имя любому элементу на странице. Имя элемента в дальнейшем используется в качестве селектора в CSS и позволяет управлять стилями элемента. К тому же по имени класса удобно искать и манипулировать элементами на странице при помощи JavaScript.
Пример
СкопированоНа странице может быть множество одинаковых тегов. Например, несколько заголовков второго уровня.
...<!-- Первый заголовок --><h3>В Санкт-Петербурге</h3><p>Ветер, по Питерскому обыкновению, дул сразу со всех четырёх сторон.</p><!-- Второй заголовок --><h3>В России</h3><p>«Умом Россию не понять...»</p><!-- Третий заголовок --><h3>В мире</h3><p>На Брайтон Бич опять идут дожди.</p>...
...
<!-- Первый заголовок -->
<h3>В Санкт-Петербурге</h3>
<p>Ветер, по Питерскому обыкновению, дул сразу со всех четырёх сторон. </p>
<!-- Второй заголовок -->
<h3>В России</h3>
<p>«Умом Россию не понять...»</p>
<!-- Третий заголовок -->
<h3>В мире</h3>
<p>На Брайтон Бич опять идут дожди.</p>
...
Открыть демо в новой вкладке🤖 Как при текущей разметке можно изменить цвет текста первого заголовка? Можно обернуть все заголовки в разные дополнительные теги. И использовать их комбинации в качестве селекторов для написания стилей. Но это решение будет неверным. Разметка
Чтобы выделить какой-то отдельный элемент или набор элементов и применить стили выборочно можно использовать атрибут class
.
...<!-- Первый заголовок --><h3>В Санкт-Петербурге</h3><p>Ветер, по Питерскому обыкновению, дул сразу со всех четырёх сторон.</p><!-- Второй заголовок --><h3>В России</h3><p>«Умом Россию не понять...»</p><!-- Третий заголовок --><h3>В мире</h3><p>На Брайтон Бич опять идут дожди. </p>...
...
<!-- Первый заголовок -->
<h3>В Санкт-Петербурге</h3>
<p>Ветер, по Питерскому обыкновению, дул сразу со всех четырёх сторон.</p>
<!-- Второй заголовок -->
<h3>В России</h3>
<p>«Умом Россию не понять...»</p>
<!-- Третий заголовок -->
<h3>В мире</h3>
<p>На Брайтон Бич опять идут дожди.</p>
...
В коде выше каждому заголовку второго уровня заданы разные имена классов. Это позволит без особых проблем написать стили только для первого заголовка.
.news__local { color: #ed6742;}
.news__local {
color: #ed6742;
}
Открыть демо в новой вкладкеЦель достигнута, при этом стили остальных заголовков второго уровня остались прежними.
Как понять
СкопированоИмя класса может быть произвольным. Вы самостоятельно придумываете это название и задаёте его элементу при помощи атрибута class
. Чтобы использовать имя класса в качестве селектора достаточно написать его в CSS, поставив перед именем точку. По точке браузер поймёт, что ему нужно искать не тег, а именно класс.
Как пишется
СкопированоАтрибут класса можно задать любому тегу в HTML-разметке. Как и любой другой атрибут, класс прописывается внутри треугольных скобок открывающего тега.
<p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p>
<p>
Его экзистенциальная тоска выступает как побудительный мотив творчества,
однако символизм начинает импрессионизм.
</p>
При выборе имени класса следует придерживаться нескольких правил:
- В именах классов используй только английские слова.
<!-- Плохо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p><!-- Хорошо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм. </p>
<!-- Плохо -->
<p>
Его экзистенциальная тоска выступает как побудительный мотив творчества,
однако символизм начинает импрессионизм.
</p>
<!-- Хорошо -->
<p>
Его экзистенциальная тоска выступает как побудительный мотив творчества,
однако символизм начинает импрессионизм.
</p>
- Имена классов пишутся маленькими буквами.
<!-- Плохо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p><!-- Хорошо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p><!-- Плохо --> <p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм. </p> <!-- Хорошо --> <p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм. </p>
- Для разделения двух слов используются тире (
-
) или знак подчёркивания (_
). Не используй camelCase 🐫
<!-- Плохо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p><!-- Хорошо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p><!-- Хорошо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p>
<!-- Плохо -->
<p>
Его экзистенциальная тоска выступает как побудительный мотив творчества,
однако символизм начинает импрессионизм.
</p>
<!-- Хорошо -->
<p>
Его экзистенциальная тоска выступает как побудительный мотив творчества,
однако символизм начинает импрессионизм.
</p>
<!-- Хорошо -->
<p>
Его экзистенциальная тоска выступает как побудительный мотив творчества,
однако символизм начинает импрессионизм. </p>
- Лучше не использовать больше трёх слов в имени класса.
<!-- Плохо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p><!-- Хорошо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p><!-- Плохо --> <p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм. </p> <!-- Хорошо --> <p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм. </p>
- Не используй в названиях классов цифры или числительные. Завтра порядок блоков может измениться и нумерация будет сбивать с толку.
<!-- Плохо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм. </p><p>Экзистенциализм сложен.</p><p>Художественное переживание последовательно.</p><!-- Хорошо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p><p>Экзистенциализм сложен.</p><p>Художественное переживание последовательно.</p>
<!-- Плохо -->
<p>
Его экзистенциальная тоска выступает как побудительный мотив творчества,
однако символизм начинает импрессионизм.
</p>
<p>Экзистенциализм сложен.</p>
<p>Художественное переживание последовательно.</p>
<!-- Хорошо -->
<p>
Его экзистенциальная тоска выступает как побудительный мотив творчества,
однако символизм начинает импрессионизм.
</p>
<p>Экзистенциализм сложен.</p>
<p>Художественное переживание последовательно.</p>
- Не задавайте имя класса по контенту или по тегу. Контент — вещь живая. Если он изменится, то класс потеряет свою актуальность, что осложнит чтение и понимание кода. Теги также могут измениться в процессе жизни сайта.
<!-- Плохо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p><p>Экзистенциализм сложен.</p><p>Художественное переживание последовательно.</p><!-- Хорошо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p><p>Экзистенциализм сложен.</p><p>Художественное переживание последовательно.</p>
<!-- Плохо -->
<p>
Его экзистенциальная тоска выступает как побудительный мотив творчества,
однако символизм начинает импрессионизм.
</p>
<p>Экзистенциализм сложен.</p>
<p>Художественное переживание последовательно.</p>
<!-- Хорошо -->
<p>
Его экзистенциальная тоска выступает как побудительный мотив творчества,
однако символизм начинает импрессионизм.
</p>
<p>Экзистенциализм сложен.</p>
<p>Художественное переживание последовательно.</p>
- Не опирайтесь на внешний вид элемента при выборе имени класса. В разработке есть тенденция к быстрым изменениям. Поэтому завтра внешний вид сайта может полностью измениться. При подборе имён классов по смыслу элемента позволит избежать изменения HTML-разметки.
<!-- Плохо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p><!-- Хорошо --><p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p>
<!-- Плохо -->
<p>
Его экзистенциальная тоска выступает как побудительный мотив творчества,
однако символизм начинает импрессионизм.
</p>
<!-- Хорошо -->
<p>
Его экзистенциальная тоска выступает как побудительный мотив творчества,
однако символизм начинает импрессионизм.
</p>
- Не используйте пробел для разделения слов внутри одного имени класса.
В примере ниже main
и text
будут восприниматься браузером как два отдельных класса, а не один, состоящий из двух слов.
<p> Его экзистенциальная тоска выступает как побудительный мотив творчества, однако символизм начинает импрессионизм.</p>
<p>
Его экзистенциальная тоска выступает как побудительный мотив творчества,
однако символизм начинает импрессионизм.
</p>
Есть несколько методологий именования классов. Самой популярной на сегодня является БЭМ. Методология призвана определить дополнительные правила именования классов и облегчить процесс придумывания имён.
Подсказки
Скопировано💡 У элемента может быть несколько классов. Перечисляй классы, разделяя их пробелом.
<p>Экзистенциализм сложен.</p>
<p>Экзистенциализм сложен. </p>
💡 Поскольку стили принято задавать только селекторам по классу, пиши классы всем элементам сразу в процессе создания HTML-разметки.
На практике
СкопированоАлёна Батицкая советует
Скопировано🛠 Раньше в вёрстке довольно часто использовались идентификаторы — атрибут id
. Теперь их лучше не использовать и заменить на класс. Точно не стоит использовать идентификаторы для стилизации элементов.
Причина в том, что идентификатор должен быть уникальным. В разметке может быть только один идентификатор с определённым именем. Это крайне неудобно для написания стилей, поскольку придётся многократно повторять одни и те же стили, но для разных идентификаторов. С классами эта проблема решается просто. Пропиши всем элементам, для которых нужно задать определённый внешний вид, один и тот же класс.
У многих начинающих разработчиков существует представление, что идентификаторы требуются для связи JavaScript и HTML, но это не так. В современном виде JavaScript предоставляет удобные инструменты поиска и манипуляции элементами по их классу. Так что и здесь классы пригодятся!
🛠 После того, как разметка и стили написаны, посмотри на них внимательно. Высока вероятность, что написано несколько одинаковых блоков стилей для разных классов. Имеет смысл оптимизировать код и вынести повторяющиеся стили в отдельный блок и задать всем похожим элементам один класс.
🛠 Представляй каждый блок, из которого состоит страница, как самостоятельный элемент, который можно будет убрать с текущей страницы и перенести на другую. Задавай такие имена классов, которые не будут привязаны к странице. Думай компонентами 😉
Атрибут class — классы элемента
Атрибут class
задает один или несколько
классов для элемента (под элементом имеется
ввиду тег).
Это делается для того, чтобы затем обратиться через CSS к группе элементов, у которых задан одинаковый класс, и применить для него определенные свойства (к примеру, сменить цвет текста, размер шрифта и так далее).
Существует также атрибут
id, который подобно атрибуту class
позволяет выбирать элементы на HTML странице.
Разница между атрибутом class
и атрибутом
id в том, что class выбирает группу элементов (даже если он дан одному элементу
— его в последствии можно дать и другому),
а id
выбирает уникальный элемент (больше
элемента с таким id не должно быть на странице
сайта, иначе будет конфликт).
Как понять, что давать элементу — класс или id? Класс дается тем элементам, которые повторяются на страницах сайта (чтобы по несколько раз не писать один и тот же CSS код). Даже если у вас сейчас данный элемент один, но вы чувствуете, что похожие элементы могут появится в дальнейшем — давайте этому элементу класс. Если же вы уверены, что такой элемент уникальный — то давайте ему id. Хотя в настоящее время есть тенденция к тому, чтобы всем элементам давать класс, а id оставить для JavaScript, но она не является общепринятой.
Элементу можно задать несколько классов, в этом случае их следует перечислять через пробел.
Названия классов должны быть набраны английскими буквами, цифрами, без пробелов (пробел отделяет классы друг от друга, вместо него можно использовать подчеркивание или дефис). Классы не должны начинаться с цифры (в HTML5 уже можно, но не будет работать в старых браузерах).
Имена классам следует давать на английском языке (а не на русском, просто английскими буквами!). Имена должны быть осмысленными, отражать суть класса.
Пример
Давайте всем абзацам с классом test
зададим красный цвет текста:
<p>Абзац с классом test.</p>
<p>Контрольный абзац без класса.</p>
.test {
color: red;
}
:
Пример . Несколько классов для элемента
А здесь давайте первому абзацу зададим несколько
классов — test1
и test2
(запишем
их через пробел). Класс test1
задает
красный цвет
тексту, а класс test2
задает размер
шрифта в 20px
. Второму абзацу
дан только класс test1
(этот абзац
станет красным), а третьему абзацу — класс test2
(этот абзац будет иметь размер
шрифта в 20px). Первый абзац, у которого
два класса, будет иметь одновременно и красный
цвет и размер шрифта в 20px
:
<p>Абзац с двумя классами test1 и test2.</p>
<p>Абзац с классом test1.</p>
<p>Абзац с классом test2.</p>
<p>Контрольный абзац без классов.</p>
.test1 {
color: red;
}
.test2 {
font-size: 20px;
}
:
Класс HTML (с примерами)
В этом уроке мы узнаем о классе HTML с помощью примеров.
Класс HTML
— это атрибут, который можно добавить к элементу HTML, чтобы присвоить ему определенное имя класса. Например,
Programiz
<стиль> .лого { цвет синий; }
Вывод браузера
Атрибут класса
позволяет CSS и JavaScript получать доступ к коду HTML. В приведенном выше примере элемент с именем класса logo оформлен селектором .logo .
Примечание : Мы используем .
перед именем класса в CSS.
Несколько классов в HTML
Элемент может иметь более одного класса. Например,
Лилия
<стиль> .животное { красный цвет; } .собака { граница: 1px сплошной черный }
Вывод браузера
В приведенном выше примере элемент имеет два имени класса: животное и собака . Мы можем добавить более одного класса к элементу HTML и разделить их пробелом.
Одно и то же имя класса для HTML-элементов
Мы также можем предоставить одно и то же имя класса для нескольких HTML-элементов. Это упрощает применение одного и того же стиля к нескольким элементам. Давайте посмотрим на пример,
Собака
Обезьяна
<стиль> .животное { цвет синий; } стиль>
Вывод браузера
Здесь мы использовали одно и то же имя класса animal для двух элементов.
Класс с Javascript в HTML
Атрибут class
позволяет javascript обращаться к элементу через селекторы классов или API getElementByClassName
. Например,
ЯБЛОКО
<скрипт> пусть элемент = document.getElementsByClassName ("фрукты") [0] element.innerHTML = "ОРАНЖЕВЫЙ" скрипт>
Вывод браузера
В приведенном выше примере мы использовали document.getElementsByClassName("fruits")
для доступа к элементу HTML, где fruit
— это имя класса в элементе . Затем свойство
innerHTML
изменяет содержимое (текст внутри тега ) с APPLE на ORANGE .
На что следует обратить внимание
- Имена классов вводятся с учетом регистра. Следовательно,
животное
иживотное
— это два разных имени класса. - Нельзя использовать пробел в имени класса. Если вы используете пробел в имени класса, оно будет рассматриваться как два отдельных имени класса. Например, если у вас есть следующий CSS:
.мой класс { размер шрифта: 14px; цвет синий; }
Это не применит стили к элементам с классом мой класс . Вместо этого он будет применять стили к элементам с классом , моим и классом 9.0019 class (которые рассматриваются как два отдельных имени класса из-за пробела между ними).
Чтобы избежать этой проблемы, вместо пробела в именах классов следует использовать другой символ (например, дефис или подчеркивание). Например, измените имя my class на my-class .
Id vs Class
Идентификатор HTML
и класс являются атрибутами, которые можно добавить к элементу HTML, чтобы присвоить ему идентификатор. Основное отличие от
id
и class
заключается в том, что id
уникален в HTML-документе, а класс может использоваться несколько раз на странице.
Более того, мы можем использовать только один id
в элементе HTML, в то время как мы можем использовать несколько классов в элементе HTML.
Содержание
Атрибут класса HTML
❮ Пред. Следующий ❯
Атрибут класса HTML используется для указания одного или нескольких имен классов для элемента. Обычно атрибут класса указывает на класс в таблице стилей. Имя класса чувствительно к регистру.
Этот атрибут также может использоваться JavaScript через HTML DOM для внесения определенных изменений в элементы HTML с указанным именем класса.
В HTML5 вы можете использовать атрибут класса для любого элемента HTML.
В HTML 4.01 атрибут class нельзя использовать со следующими элементами: <голова>,, <база>, <базовый шрифт>, <параметр>, <стиль>, <мета>, <скрипт> и <название>.
Хотя конкретных требований к наименованию классов нет, лучше использовать имена, описывающие смысловое назначение элемента, а не его представление. Имя должно начинаться с буквы a-z или A-Z, за ним могут следовать буквы, цифры (0-9), знаки подчеркивания ("_") и дефисы ("-").
Пример атрибута класса HTML:
<голова>Название документа <стиль> .красный { красный цвет; } .апельсин { оранжевый цвет; } стиль> голова> <тело>Пример атрибута класса HTML
Это какой-то красный абзац.
Это какой-то текст.
Это какой-то желтый абзац.
тело>
Попробуй сам "
В CSS, если вы хотите выбрать элементы с определенным классом, используйте символ точки (.), за которым следует имя класса.
Пример атрибута класса HTML, используемого с CSS:
<голова>Название документа <стиль> . заголовок { цвет фона: #1c87c9; цвет: #ffffff; отступ: 20 пикселей; } стиль> голова> <тело>Пример атрибута класса
Заголовок
Lorem ipsum, или lipsum, как его иногда называют, – это фиктивный текст, используемый при макетировании печатных, графических или веб-дизайнов. Отрывок приписывается неизвестному наборщику в 15 веке, который, как полагают, перепутал части книги Цицерона «De Finibus Bonorum et Malorum» для использования в книге образцов шрифтов.
Заголовок
Lorem ipsum, или lipsum, как его иногда называют, – это фиктивный текст, используемый при макетировании печатных, графических или веб-дизайнов. Этот отрывок приписывается неизвестному наборщику в 15 веке, который, как полагают, перемешал части книги Цицерона De Finibus Bonorum et Malorum для использования в книге образцов шрифтов. размещение печатных, графических или веб-дизайнов. Отрывок приписывается неизвестному наборщику в 15 веке, который, как полагают, перепутал части книги Цицерона «De Finibus Bonorum et Malorum» для использования в книге образцов шрифтов.
тело>
Попробуй сам "
Элементы HTML также могут иметь более одного имени класса. Каждый из них должен быть разделен пробелом.
Пример атрибута класса HTML с несколькими именами классов:
<голова>Название документа <стиль> .заголовок { цвет фона: #202131; цвет: #дддддд; отступ: 15px 25px; } .текст-справа { выравнивание текста: вправо; } стиль> <тело>Пример нескольких классов
Lorem ipsum, или lipsum, как его иногда называют, представляет собой фиктивный текст, используемый при макетировании печатных, графических или веб-дизайнов. Отрывок приписывается неизвестному наборщику в 15 веке, который, как полагают, перепутал части книги Цицерона De Finibus Bonorum et Malorum для использования в книге образцов шрифтов.
Лондон
Lorem ipsum, или lipsum, как его иногда называют, представляет собой фиктивный текст, используемый при макетировании печатных, графических или веб-дизайнов. Отрывок приписывается неизвестному наборщику в 15 веке, который, как полагают, перепутал части книги Цицерона De Finibus Bonorum et Malorum для использования в книге образцов шрифтов.
Париж
Lorem ipsum, или lipsum, как его иногда называют, представляет собой фиктивный текст, используемый при макетировании печатных, графических или веб-дизайнов. Отрывок приписывается неизвестному наборщику в 15 веке, который, как полагают, перепутал части книги Цицерона De Finibus Bonorum et Malorum для использования в книге образцов шрифтов.
Токио
тело>
Попробуй сам "
Различные теги, такие как
и
, могут иметь одно и то же имя класса и один и тот же стиль.
Пример атрибута класса HTML с элементами
и
:
<голова>Название документа <стиль> .grey-текст { цвет: #808080; } стиль> <тело>Пример атрибута класса
Заголовок
Lorem ipsum, или lipsum, как его иногда называют, представляет собой фиктивный текст, используемый при макетировании печатных, графических или веб-дизайнов.