Каковы приоритеты среди селекторов CSS

Collate - это просто фантастика (ну, вроде). Таким образом, это порядок сортировки, основанный на локализованных предпочтениях (то есть алфавите и условных обозначениях текущего языка) в конечном порядке asc .

14
задан flybywire 28 October 2009 в 13:46
поделиться

6 ответов

кровавые детали в спецификации на самом деле достаточно читабельны. Вкратце:

  1. ! Important правила и правила встроенного стиля выигрывают больше всего.

  2. В противном случае обычно побеждает более конкретный. #id является более конкретным селектором, чем .classname - более конкретным селектором, чем тэг .

  3. Если правила одинаково специфичны, побеждает тот, который объявлен последним.

Нет особой причины, почему этого «не должно происходить». Обычно можно указать общее правило, а затем добавить более конкретное правило для одного случая; несколько правил одного и того же свойства для одного элемента не являются необычными или нежелательными.

43
ответ дан 1 December 2019 в 06:02
поделиться

Приоритет между селекторами определяется их конкретностью. Более конкретные селекторы имеют преимущество перед менее специфичными.

Если два селектора одинаково специфичны, последний выигрывает у первого.

Есть три уровня специфичности: идентификатор, класс и элемент. Итак, #elem побеждает .elem , поскольку идентификатор более конкретен. .elem .cont выигрывает у .elem , поскольку у него больше селекторов на том же уровне.

Подробнее читайте в разделе «Что происходит при возникновении конфликтов?» на Selectutorial .

0
ответ дан 1 December 2019 в 06:02
поделиться

См. Раздел спецификации порядок специфичности (наряду с остальной частью этой главы! Важные правила и порядок, в котором правила появляются в таблице стилей, также имеют влияние) .

2
ответ дан 1 December 2019 в 06:02
поделиться

Это должно случиться! Вот почему это называется CASCADING таблиц стилей. Вы можете найти пример приоритетов здесь

5
ответ дан 1 December 2019 в 06:02
поделиться

CSS означает Каскадные таблицы стилей. Это означает, что правила применяются к элементам каскадно. Совершенно нормально, что к элементу применяются разные селекторы. Рассматривает, например, следующее:

<div class="wrapper">
  <div id="foo" class="bar" style="some rules">Test</div>
</div>

Следующие правила повлияют на элемент "foo":

.wrapper {
  //some other rules
}

#foo {
  // some more rules
}

.bar {
  // some more rules
}

Правила для приоритетов можно найти здесь .

Я всегда советую использовать Плагин Firefox "firebug" . Он покажет вам, какие именно свойства оцениваются для конкретного элемента и почему, с акцентом на переопределения во время каскада.

0
ответ дан 1 December 2019 в 06:02
поделиться

Порядок в файле CSS имеет значение только в том случае, если селекторы имеют одинаковую специфичность.

Подробнее о специфичности селекторов: Энди Кларк написал Specificity Wars, который является лучшим обзором того, как они работают.

0
ответ дан 1 December 2019 в 06:02
поделиться