Css классы и идентификаторы: Идентификаторы и классы | htmlbook.ru

Содержание

Идентификаторы | 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.5712
1
3.511
1141

Браузеры

В таблице браузеров применяются следующие обозначения.

  •  — свойство полностью поддерживается браузером со всеми допустимыми значениями;
  •  — свойство браузером не воспринимается и игнорируется;
  •  — при работе возможно появление различных ошибок, либо свойство поддерживается лишь частично, например, не все допустимые значения действуют или свойство применяется не ко всем элементам, которые указаны в спецификации.

Число указывает версию браузера, начиная с которой свойство поддерживается.

Селекторы элемента
Ctrl+

Классы
Ctrl+

Автор и редакторы

Автор: Влад Мержевич

Последнее изменение: 02.03.2020

Редакторы: Влад Мержевич

HTML-классы с идентификаторами [javascript, html, css, ajax]


Я немного запутался в классах и идентификаторах HTML, так как я хотел бы использовать их ОБА для описания элемента HTML. Это действительно и поддерживается большинством браузеров?

Мотивация для меня использовать оба заключается в следующем:

  1. У меня есть стиль CSS, который я хотел бы применить к нескольким элементам.
  2. У меня есть некоторые AJAX и Javascript, которые будут манипулировать одними и теми же элементами, поэтому мне нужен способ определить, какой элемент с помощью идентификатора.
  3. Поэтому я хотел бы использовать идентификатор для идентификации каждого элемента для манипуляции с 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.

05.2009


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

  • эти элементы имеют разные classes

  • вы оформляете их по правилу #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 селектор.

Здесь я дал id элементу div , и он применил к нему соответствующий CSS.

ИЛИ

 .main {
    фон: #000;
    граница: 1px сплошная #AAAAAA;
    отступ: 10 пикселей;
    цвет: #fff;
    ширина: 100 пикселей;
}
 
 <дел>
    Добро пожаловать

Теперь здесь я передал класс в div , и он также выполняет ту же работу для меня.

Тогда в чем точная разница между Id и class и когда я должен использовать id и когда я должен использовать class . ? Я новичок в CSS и веб-дизайне и немного запутался в этом.

  • HTML
  • CSS

3

  • Используйте класс , если вы хотите единообразно стилизовать несколько элементов на странице/сайте. Классы полезны, когда у вас есть или, возможно, будет в будущем более одного элемента, использующего один и тот же стиль. Примером может быть div «комментариев» или определенный стиль списка для связанных ссылок.

    Кроме того, с данным элементом может быть связано более одного класса, а у элемента может быть только один идентификатор. Например, вы можете дать div два класса, стили которых будут действовать.

    Кроме того, обратите внимание, что классы часто используются для определения поведенческих стилей в дополнение к визуальным. Например, подключаемый модуль валидатора формы jQuery активно использует классы для определения поведения проверки элементов (например, обязательных или нет, или определения типа входного формата)

    Примеры имен классов: тег, комментарий, кнопка на панели инструментов, предупреждающее сообщение или электронная почта.

  • Используйте ID , когда у вас есть одиночный элемент на странице, которая примет стиль. Помните, что идентификаторы должны быть уникальными. В вашем случае это может быть правильным вариантом, так как на странице предположительно будет только один «главный» div.

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

Хороший способ запомнить это 9Класс 0026 — это тип элемента , а идентификатор — это уникальное имя элемента на странице.

4

id s уникальны

  • Каждый элемент может иметь только один id
  • На каждой странице может быть только один элемент с этим id

class es НЕ уникальны

  • Вы можете использовать один и тот же class для нескольких элементов.
  • : Вы можете использовать несколько class для одного и того же элемента.

Javascript заботится о

Пользователи JavaScript уже, вероятно, лучше понимают разницу между class es и id s. JavaScript зависит от наличия только одного элемента страницы с каким-либо конкретным id , иначе нельзя полагаться на обычно используемую функцию getElementById .

0

Подробнее об этом нажмите здесь.

Пример

 
Текст
#header_id {цвет шрифта:#fff} .header_class {цвет шрифта: # 000}

(Обратите внимание, что CSS использует префикс # для идентификаторов и . для классов.) В CSS нет «цвета шрифта», стиль , цвет , поэтому приведенное выше следует читать:

Пример

 
Текст
#header_id {цвет:#fff} . header_class {цвет: # 000}

Текст будет белым.

2

Идентификаторы должны быть уникальными — в html-документе не может быть более одного элемента с одинаковым идентификатором. Классы могут использоваться для нескольких элементов. В этом случае вы хотели бы использовать идентификатор для «основного», потому что он (предположительно) уникален — это «главный» div, который служит контейнером для другого вашего контента, и он будет только один.

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

Как уже говорили почти все, используйте идентификатор для одноразовых элементов и класс для многократно используемых элементов.

Вот быстрый, упрощенный пример, возьмите теги HTML и HEAD как прочитанные

 
    <дел>
        У вас будет только один левый столбец
    
<дел> Только один контейнер основного контента, но. ....

Вам может понадобиться больше одного красивого абзаца

Это скучно и не стильно

Видите, я же говорил вам, вам может понадобиться еще один!