CSS, который имеет приоритет, встроенный или класс?
Мой сайт имеет таблицу стилей, определенную в заголовке как style.css с селектором:
.myClass {background:#000;}
Теперь мой div выглядит так:
<div class="myClass" style="background:#fff;"> </div>
У кого есть приоритет, встроенный или класс?
Ответы
Ответ 1
Вообще говоря, мы можем сказать, что все стили "каскадируются" в новую "виртуальную" таблицу стилей по следующим правилам, где номер четыре имеет наивысший приоритет:
1.Browser по умолчанию
2. Внешний лист стилей
3. Внутренняя таблица стилей (в головной части)
Стиль 4.Inline(внутри HTML-элемента)
Источник: w3schools
W3schools объясняет многое о CSS, а также просматривает и показывает примеры большинства вещей, которые вы можете сделать с помощью CSS. Всегда хороший ресурс, если у вас есть вопросы о чем-то.
Ответ 2
Порядок приоритета с CSS выглядит следующим образом:
- ! important (это немного хакерский, но это единственный способ переопределить встроенный стиль. Старайтесь избегать использования этого, если это действительно необходимо). Пример: p {color: blue! Important; }
- Inline, например
<p class="redText" style="color: red;">CSS is awesome</p>
. В этом примере класс игнорируется, если объявление класса redText
уже пыталось определить свойство color:
. Другие свойства все еще можно почитать.
- Внутренние стили - те, которые написаны внутри раздела
<head><style>
на странице html.
- Внешний стиль, определяющий стили. Ваш html-документ должен иметь ссылку на этот лист, чтобы использовать его. Пример, снова внутри раздела
<head>
: <link rel="stylesheet" type="text/css" href="mystyle.css" />
Отметьте здесь, чтобы освежить терминологию: http://www.w3schools.com/css/css_syntax.asp
Ответ 3
Порядок приоритета с CSS выглядит следующим образом:
- Встроенный, такой как
<div id="orange" class="green" style="color: red;">This is red</div>
В этом примере class
игнорируется, если объявление green
класса уже пыталось определить свойство цвета. Также id
также игнорируется, если он попытался определить цвет. - Выбор идентификатора, например
#orange { color: orange; }
#orange { color: orange; }
- Селекторы классов, такие как
.green { color: green; }
.green { color: green; }
- Селекторы элементов, такие как
div { color: black; }
div { color: black; }
Документация сети разработчиков Mozilla содержит хорошо написанную документацию о том, что говорит
Когда несколько правил применяются к определенному элементу, выбранное правило зависит от его стилевой специфики. Встроенный стиль (в атрибутах стиля HTML) обладает наивысшей специфичностью и переопределяет все селекторы, за которыми следуют селекторы идентификаторов, затем селекторы классов и, в конечном итоге, селекторы элементов.
Поэтому цвет текста ниже будет красным.
div { color: black; }
#orange { color: orange; }
.green { color: green; }
<div id="orange" class="green" style="color: red;">This is red</div>
Ответ 4
Нет 3. Внутреннего или 4. Внешнего приоритета. Какая бы таблица стилей ни была последней на странице html, которая получит приоритет. Например.
<style></style>
<link> </link> <!-- Precedence -->
<link> </link>
<style></style> <!-- Precedence -->