Идентификаторы | CSS | WebReference
- Содержание
- Синтаксис
- Пример
- Примечание
- Спецификация
- Браузеры
Идентификатор определяет уникальное имя элемента, которое используется для изменения его стиля и обращения к нему через скрипты.
Синтаксис
#<Имя идентификатора> { Описание правил стиля }
При описании идентификатора вначале указывается символ решётки (#), затем идёт имя идентификатора. Оно должно начинаться с латинского символа и может содержать в себе символ дефиса (-) и подчеркивания (_). Использование русских букв в именах идентификатора недопустимо. В отличие от классов идентификаторы должны быть уникальны, иными словами, встречаться в коде документа только один раз.
Обращение к идентификатору происходит с помощью атрибута id, значением которого выступает имя идентификатора (id=»header»). Символ решётки при этом уже не указывается.
Обозначения
Описание | Пример | |
---|---|---|
<тип> | Указывает тип значения. | <размер> |
A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
[ ] | Группирует значения. | [ crop || cross ] |
* | Повторять ноль или больше раз. | [,<время>]* |
+ | Повторять один или больше раз. | <число>+ |
? | Указанный тип, слово или группа не является обязательным. | inset? |
{A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
# | Повторять один или больше раз через запятую. | <время># |
Пример
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Идентификаторы</title> <style> #help { position: absolute; /* Абсолютное позиционирование */ left: 160px; /* Положение элемента от левого края */ top: 50px; /* Положение от верхнего края */ width: 225px; /* Ширина блока */ padding: 5px; /* Поля вокруг текста */ background: #f0f0f0; /* Цвет фона */ } </style> </head> <body> <div> Этот элемент помогает в случае, когда вы находитесь в осознании того факта, что совершенно не понимаете, кто и как вам может помочь. Именно в этот момент мы и подсказываем, что помочь вам никто не сможет. </div> </body> </html> Результат примера показан на рис. 1.Рис. 1. Вид текста, оформленного с помощью идентификатора
Примечание
В браузере Internet Explorer до версии 7 идентификаторы иногда игнорируются, если они комбинируются с селекторами элементов или классами.
Спецификация
Спецификация | Статус |
---|---|
CSS Selectors Level 3 | Рекомендация |
CSS 2.1 | Рекомендация |
CSS 1 | Рекомендация |
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры
3.5 | 7 | 12 | 1 | 3.5 | 1 | 1 |
1 | 1 | 4 | 1 |
Браузеры
В таблице браузеров применяются следующие обозначения.
- — свойство полностью поддерживается браузером со всеми допустимыми значениями;
- — свойство браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо свойство поддерживается лишь частично, например, не все допустимые значения действуют или свойство применяется не ко всем элементам, которые указаны в спецификации.
Число указывает версию браузера, начиная с которой свойство поддерживается.
Селекторы элемента
Ctrl+←
Классы
Ctrl+→
Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 02.03.2020
Редакторы: Влад Мержевич
HTML-классы с идентификаторами [javascript, html, css, ajax]
Я немного запутался в классах и идентификаторах HTML, так как я хотел бы использовать их ОБА для описания элемента HTML. Это действительно и поддерживается большинством браузеров?
Мотивация для меня использовать оба заключается в следующем:
- У меня есть стиль CSS, который я хотел бы применить к нескольким элементам.
- У меня есть некоторые AJAX и Javascript, которые будут манипулировать одними и теми же элементами, поэтому мне нужен способ определить, какой элемент с помощью идентификатора.
- Поэтому я хотел бы использовать идентификатор для идентификации каждого элемента для манипуляции с JS, И в то же время я хотел бы указать класс, чтобы один и тот же стиль применялся из одного и того же css.
javascript html css ajax
person LeeMobile schedule 03.05.2009 source источник
Ответы (6)
arrow_upward
8
arrow_downward
Идентификатор будет уникальным только для одного элемента, где класс можно использовать для группировки множества элементов. Вы можете использовать их вместе, как вы сказали, ID как уникальный идентификатор для Javascript и класс для разметки с помощью CSS.
Найдите html class vs id, чтобы получить много статей об этом. тема.
Пример:
<ul> <li>First Item in the List</li> <li>Second Item in the List</li> <li>Third Item in the List</li> </ul>
person Chris Bartow schedule 03.
arrow_upward
7
arrow_downward
Да, вполне допустимо использовать свойства ID и Class в одном элементе. Пример:
<div> *content* </div>
Тем не менее, имейте в виду, что идентификатор можно использовать только один раз (отсюда и его название), в то время как вы можете использовать классы столько раз, сколько захотите в документе. Вы по-прежнему можете использовать как идентификатор, так и класс для применения стилей, в то время как только идентификатор является простым способом доступа к элементу через javascript.
Хороший способ сделать это — применить идентификаторы ко всем элементам, которые, как вы знаете, уникальны (заголовок, навигация, основные контейнеры и т. д.), а классы — ко всему остальному.
«Это это» применяется к элементам, использующим идентификатор: «Это это панель навигации», «это это заголовок»
«Является a» или «является an» применяется к элементам, использующим классы: «This is a blogPost», «this is a информационное окно» и т. д.
person Arve Systad schedule 03.05.2009
arrow_upward
2
arrow_downward
Вы можете определенно использовать оба, если вам нужно.
Идентификатор обычно используется для идентификации структурных разделов вашего сайта. У вас должен быть только один элемент с определенным идентификатором, и любой элемент может иметь только один идентификатор.
Класс используется для установки стилей, которые могут использоваться более чем в одном месте вашего HTML-файла — для любого элемента может быть установлено несколько классов.
Типичный HTML-документ, использующий как идентификаторы, так и классы, может выглядеть примерно так:
<html> ... <body> <div></div> <ul>...</ul> <div> <div></div> </div> </body> </html>
person Tom schedule 03. 05.2009
arrow_upward
0
arrow_downward
Да, любой нормальный браузер должен разрешать настройку классов CSS независимо от идентификатора элемента. Однако установка стилей для определенного элемента (например, с использованием идентификаторов) может переопределить стили, установленные с помощью класса CSS.
person SirDemon schedule 03.05.2009
arrow_upward
0
arrow_downward
Просто очень неясное примечание об объединении класса и идентификатора в ваших объявлениях CSS, есть ошибка с IE6, если у вас есть:
две или более страниц, на которых есть элемент с одинаковым
id
эти элементы имеют разные
class
esвы оформляете их по правилу
#idname.classname
тогда только первое правило в таблице стилей вступит в силу.
Подробнее см. на этой странице.
person AmbroseChapel schedule 04.05.2009
arrow_upward
-3
arrow_downward
Да, это действительно во всех браузерах. Идентификатор выражает только уникальную идентификацию вашего элемента управления html через другие, а класс применяет к нему некоторый стиль. Используйте идентификаторы, когда на странице есть только одно вхождение. Используйте классы, когда на странице есть одно или несколько вхождений.
person Iralda Mitro schedule 03.05.2009
В чем разница между id и классом?
в чем разница между <div>
и <div>
когда дело доходит до CSS? Это нормально использовать <div>
?
Я вижу, что разные разработчики делают это в обоих направлениях, и поскольку я самоучка, я никогда не понимал этого.
14 ответов
ids
должно быть уникальным, где as class
может применяться ко многим вещам. В CSS id
посмотрим, как #elementID
и class
элементов .someClass
в общем, использовать id
всякий раз, когда вы хотите обратиться к определенному элементу и class
когда у вас есть несколько вещей, которые все одинаковы. Например, общие id
элементы-это такие вещи, как header
, footer
, sidebar
. Common class
элементы-это такие вещи, как highlight
или external-link
.
это хорошая идея прочитать каскад и понять приоритет, назначенный различным селекторам:http://www.w3.org/TR/CSS2/cascade.html
самый основной приоритет, который вы должны понимать, однако, это id
селекторы имеют приоритет над class
селекторы. Если бы у вас было это:
<p>Hello!</p>
и:
#intro { color: red } . foo { color: blue }
текст будет красным, потому что id
селектор имеет приоритет над class
селектор.
292
поделиться
автор: Tyson
возможно, аналогия поможет понять разницу:
<student /> <student />
студент ID карты различны. Нет двух студентов в кампусе будет иметь один и тот же студент ID
154
поделиться
автор: Sampson
где использовать ID против класса
простая разница между ними заключается в том, что, хотя класс может использоваться повторно на странице, идентификатор должен использоваться только один раз на странице. Поэтому целесообразно использовать идентификатор элемента div, который является Разметка основного контента на странице, так как там будет только один раздел. Напротив, необходимо использовать класс для настройки чередующихся цветов строк в таблице, так как они по определению будут использоваться чаще, чем однажды.
IDs-невероятно мощный инструмент. Элемент с идентификатором может быть целью фрагмента JavaScript, который каким-либо образом манипулирует элементом или его содержимым. Атрибут ID может использоваться в качестве цели внутренней ссылки, заменяя теги привязки атрибутами name. Наконец, если вы сделаете свои идентификаторы четкими и логичными, они могут служить своего рода «самостоятельной документацией» в документе. Например, необязательно добавлять комментарий перед блоком, в котором указано, что блок кода будет содержать основное содержимое, если открывающий тег блока имеет идентификатор, скажем, «main», «header», «footer» и т. д.
15
поделиться
автор: Konstantin Tarkus
идентификатор должен быть уникальным на всю страницу.
класс может применяться ко многим элементам.
иногда, это хорошая идея, чтобы использовать идентификаторы.
на странице у вас обычно есть один нижний колонтитул, один заголовок. ..
тогда нижний колонтитул может быть в div с идентификатором
и еще есть класс
6
поделиться
автор: Luc M
A класс следует использовать для нескольких элементов, для которых вы хотите один и тот же стиль. Ан ID должно быть для уникального элемента. Смотрите это учебник.
вы должны обратиться к стандарты W3C если вы хотите быть строгим конформистом, или если вы хотите, чтобы ваши страницы были проверен стандартам.
6
поделиться
автор: jjclarkson
идентификаторы уникальны. Занятия-нет. Элементы также могут иметь несколько классов. Также классы могут быть динамически добавлены и удалены в элемент.
везде, где вы можете использовать идентификатор, вы можете использовать класс. Обратное неверно.
соглашение, похоже, использует идентификаторы для элементов страницы, которые находятся на каждой странице (например, «navbar» или «menu»), и классы для всего остального, но это только соглашение, и вы найдете большие различия в использовании.
один другое отличие заключается в том, что для элементов ввода формы <label>
элемент ссылается на поле ID, так что вы должны использовать идентификаторы, если вы собираетесь использовать <label>
. это вещь доступности, и вы действительно должны ее использовать.
в прошедшие годы идентификаторы также были предпочтительны, потому что они легко доступны в Javascript (getElementById). С появлением jQuery и других фреймворков Javascript это в значительной степени не проблема.
5
поделиться
автор: cletus
классы как категории. Многие HTML-элементы могут принадлежать классу, А HTML-элемент может иметь более одного класса. Классы используются для применения общих стилей или стилей, которые могут быть применены к нескольким элементам HTML.
идентификаторы-это идентификаторы. Они уникальны; никому другому не разрешается иметь такой же идентификатор. Идентификаторы используются для применения уникальных стилей к элементу HTML.
Я использую идентификаторы и классы таким образом:
<div> <h2>I am a header!</h2> <p>I am subtext for a header!</p> </div> <div> <div> <p>I am a section!</p> </div> <div> <p>I am a section!</p> </div> <div> <p>I am a section!</p> </div> </div>
в этом примере заголовок и разделы контента могут быть оформлены через # header и #content. Каждый раздел содержимого может быть применен общий стиль через #content .раздел. Просто для удовольствия я добавил «специальный» класс для средней секции. Предположим, вы хотите, чтобы определенный раздел имел специальный стиль. Этого можно достичь с помощью .специальный класс, но раздел по-прежнему наследует общие стили из #content .раздел.
когда я разрабатываю JavaScript или CSS, я обычно использую идентификаторы для доступа/управления очень конкретный элемент HTML, и я использую классы для доступа/применения стилей к широкому диапазону элементов.
5
поделиться
автор: JR.
CSS является объектно-ориентированным. ID говорит экземпляр, класс говорит класс.
5
поделиться
автор: annakata
пространство селектора CSS фактически позволяет использовать условный стиль id:
h2#my-id {color:red} p#my-id {color:blue}
будет отображаться так, как ожидалось. Зачем ты это сделал? Иногда идентификаторы генерируются динамически, и т. д. Дальнейшее использование заключалось в том, чтобы отображать заголовки по-разному на основе назначения идентификатора высокого уровня:
body#list-page #title {font-size:56px} body#detail-page #title {font-size:24px}
лично я предпочитаю более длинные селекторы classname:
body#list-page .title-block > h2 {font-size:56px}
поскольку я нахожу использование вложенных идентификаторов для дифференциации лечения немного извращенным. Просто знайте, что как разработчики в Сасс/SCSS мир получает в свои руки этот материал, вложенные идентификаторы становятся нормой.
наконец, когда дело доходит до производительности селектора и приоритета, ID имеет тенденцию побеждать. Это совсем другая тема.
2
поделиться
автор: duggi
применяя CSS, применяйте его к классу и старайтесь избегать как можно больше id. Идентификатор должен использоваться только в JavaScript для извлечения элемента или для привязки любого события.
классы должны использоваться для применения CSS.
иногда вам нужно использовать классы для привязки событий. В таких случаях старайтесь избегать классов, которые используются для применения CSS, и скорее добавляйте новые классы, которые не имеют соответствующего CSS. Это поможет, когда тебе нужно будет измениться. CSS для любого класса или изменить имя класса CSS все вместе для любого элемента.
2
поделиться
автор: Sandeep Choudhary
любой элемент может иметь класс или ID.
класс используется для ссылки на определенный тип отображения, например, у вас может быть класс css для div, который представляет ответ на этот вопрос. Поскольку будет много ответов, нескольким divs понадобится один и тот же стиль, и вы будете использовать класс.
идентификатор ссылается только на один элемент, например, связанный раздел справа может иметь стиль, специфичный для него, не используемый в другом месте, он будет использовать идентификатор.
технически вы можете использовать классы для всех, или разделить их логически. Однако вы не можете повторно использовать id для нескольких элементов.
0
поделиться
автор: ermau
Class предназначен для применения вашего стиля к группе элементов. Стили ID применяются только к элементу с этим ID (должен быть только один). Обычно вы используете классы, но если есть одноразовый, вы можете использовать IDs (или просто вставить стиль прямо в элемент).
0
поделиться
автор: Adam A
в передовые разработки ids мы можем в основном использовать JavaScript.
для многократного использования, классes пригодится вопреки ids, который должен быть уникальным.
Ниже приведен пример, иллюстрирующий приведенные выше выражения:
<div>this is a box</div> <div>this is a box</div>
теперь вы можете увидеть здесь box
и box1
два (2) разных <div>
элементы, но мы можем применить box
и bg-color-red
классы для обоих их.
концепция наследования в ОП язык.
0
поделиться
автор: nuke_infer
1) div id не используется повторно и должен применяться только к одному элементу HTML, а класс div может быть добавлен к нескольким элементам.
2) id имеет большее значение, если оба применяются к одному и тому же элементу и имеют конфликтующие стили, стили id будут применены.
3) элемент стиля всегда ссылается на класс div, помещая a . (точка) перед их именами, в то время как класс div id упоминается, помещая # (хэш) перед их именами.
4) Пример: —
класс
<style>
декларации —.red-background { background-color: red; }
id в
<style>
декларации —#blue-background {background-color: blue;}
<div>Hello</div>
Здесь фон будет в синем цвете
0
поделиться
автор: MERLIN THOMAS
html. В чем разница между идентификатором и классом в CSS и когда их следует использовать?
190
Новинка! Сохраняйте вопросы или ответы и организуйте свой любимый контент.
Узнать больше.
На этот вопрос уже есть ответы здесь :
В чем разница между идентификатором и классом? (17 ответов)
Закрыта 5 лет назад.
#основной { фон: #000; граница: 1px сплошная #AAAAAA; отступ: 10 пикселей; цвет: #fff; ширина: 100 пикселей; }
<дел> Добро пожаловать
Здесь я дал id
элементу div
, и он применил к нему соответствующий CSS.
ИЛИ
.main { фон: #000; граница: 1px сплошная #AAAAAA; отступ: 10 пикселей; цвет: #fff; ширина: 100 пикселей; }
<дел> Добро пожаловать