Что означают свойства скрещенного стиля в инструментах разработчика Google Chrome?

При проверке элемента с помощью инструментов разработчика Chrome на вкладке «Элементы» на правой панели «Стили» отображаются соответствующие свойства CSS. Иногда некоторые из этих свойств вычеркиваются. Что означают эти свойства?


person rohitmishra    schedule 15.06.2010    source источник


Ответы (6)


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

(Особые случаи: стиль также будет отображаться как зачеркнутый, если стиль существует в правиле сопоставления, но закомментирован, или если вы вручную отключили его, сняв флажок в инструментах разработчика Chrome. Он также будет отображаться как перечеркнутый , но со значком ошибки, если в стиле есть синтаксическая ошибка.)

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

person Jacob Mattison    schedule 15.06.2010
comment
Кстати, перечеркнутые свойства могут быть отменены одноименными свойствами позже в том же правиле CSS (в соответствии с требованиями спецификации CSS). - person Alexander Pavlov; 16.12.2011
comment
@JacobM: Как узнать, какое свойство переопределяет отмеченное свойство. - person ArunRaj; 16.04.2014
comment
@ArunRaj - Нет простого способа узнать, какое свойство (или свойства) отменяет зачеркнутый. Один из вариантов - заглянуть на вкладку вычисленных стилей, чтобы найти тот же тип свойства, а затем, если вы развернете его, вы увидите источник различных правил, которые пытаются применить это свойство (включая тот, который фактически активен). Итак, если вы видите, что font-size: 11px зачеркнуто, посмотрите в вычисленных свойствах font-size, и вы должны увидеть все места, где применяется font-size, включая фактически активное. Надеюсь это поможет. - person Jacob Mattison; 16.04.2014
comment
Теперь в верхней части вкладки «Стили» есть поле «Фильтр». Если вам интересно, что переопределило border-color, просто введите border-color в фильтр. Он покажет все правила, содержащие это свойство, при этом свойство будет выделено желтым цветом. Эта функция также доступна в Fire Fox. - person joeytwiddle; 11.04.2016
comment
Также хотел добавить: если стиль вычеркнут, но он уже находится наверху, тогда у вас может быть стиль CSS с !important, который его перезаписывает. - person Dominic K; 28.04.2016
comment
Простите мое незнание - значит ли это, что вы можете просто удалить эти строки из файла CSS? - person ethancrist; 29.03.2018
comment
@ethancrist - если стиль перечеркнут, это означает, что он не применяется к конкретному элементу, на который вы смотрите. Поэтому, если вы удалите его, этот конкретный элемент не будет затронут. Однако это не обязательно означает, что рассматриваемый стиль не применяется где-либо еще. На самом деле невозможно проверить, применяется ли данное правило CSS где-либо (поскольку условия, определяющие, может ли оно применяться, определяются во время выполнения). - person Jacob Mattison; 02.04.2018
comment
@ArunRaj Использование точек останова для изменения DOM полезно в этом ситуация. - person Josh Greifer; 21.02.2020
comment
Как бы то ни было, в моем случае он был пересечен из-за недопустимого значения. максимальная ширина: 100; зачеркнуто, так как должно быть max-width: 100px; - person Ahmet; 26.12.2020

На стороне примечания. Если вы используете запросы @media (например, @media screen (max-width:500px)), обратите особое внимание на применение запроса @media ПОСЛЕ, вы закончили с обычными стилями. Потому что запрос @media будет вычеркнут (хотя он более конкретен), если за ним будет следовать css, который манипулирует теми же элементами. Пример:

@media (max-width:750px){
#buy-box {width: 300px;}
}

#buy-box{
width:500px;
}

** width will be 500px and 300px will be crossed out in Developer Tools. **

#buy-box{
width:500px;
}

@media (max-width:750px){
#buy-box {width: 300px;}
}

** width will be 300px and 500px will be crossed out **
person sanjihan    schedule 06.11.2016
comment
что, если медиа-запросы находятся в другом файле css? - person Carlos Hernández Gil; 06.07.2018
comment
@ CarlosHernándezGil, тогда это будет зависеть от порядка загрузки таблиц стилей. - person Aryan Beezadhur; 13.11.2020
comment
но тогда почему определенные стили в запросах @media НЕ переопределяются более поздними обычными стилями? Это заставило меня подумать, что порядок не имеет значения, и что что-то не так с моими собственными свойствами стиля. Пока я не прочитаю твой ответ. Но все же, что за хрень ?! - person Razvan_TK9692; 10.12.2020

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

Если вы добавляете фоновое изображение в div:

<div class = "myBackground">

</div>

Вы хотите масштабировать изображение, чтобы оно соответствовало размерам div, чтобы это было ваше обычное определение класса.

.myBackground {

 height:100px;
 width:100px;
 background: url("/img/bck/myImage.jpg") no-repeat; 
 background-size: contain;

}

но если вы поменяете порядок как: -

.myBackground {
 height:100px;
 width:100px;
 background-size: contain;  //before the background
 background: url("/img/bck/myImage.jpg") no-repeat; 
}

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

person Rishul Matta    schedule 24.05.2016
comment
Потому что background - это длинное обозначение, которое включает background-size, что равно auto, если не определено, то есть contain, если изображение не имеет ни внутренней ширины, ни внутренней высоты. Что еще более удивительно, так это то, что применяемое значение IS можно зачеркнуть, например. html { font-size: 1rem } p { font-size: 2rem } или div { color: red } div > p { color: currentColor }. - person cdoublev; 01.12.2020

Если вы хотите применить стиль даже после того, как вы получили индикацию прорезания, вы можете использовать "!important", чтобы применить стиль. Это может быть неправильное решение, но решает проблему.

person Nanda    schedule 17.08.2017
comment
У меня были проблемы с масштабированием GoogleMap для мобильных устройств по медиа. У меня есть базовая настройка для браузеров (без носителей), за которыми следуют различные носители с меньшими размерами, что не сработало (правильный стиль для мобильных устройств показан в GC, но с зачеркиванием). После того, как я добавил! Important, он работает, но я не понимаю логику, лежащую в основе этого ... - person FredyWenger; 18.06.2019

Есть два способа узнать, какие правила имеют приоритет:

  1. Найдите свойство в поле «Фильтр» в верхней части вкладки «Стили». Он покажет все правила, содержащие это свойство, при этом свойство будет выделено желтым цветом.

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

person Ooker    schedule 27.02.2021

В некоторых случаях вы копируете и вставляете код CSS куда-то, и это нарушает формат, поэтому Chrome показывает желтое предупреждение. Вам следует попробовать переформатировать код CSS еще раз, и все будет в порядке.

person hien711    schedule 16.08.2017
comment
Вопрос не касался желтых предупреждений. Этот ответ должен быть в лучшем случае комментарием. - person Simon; 19.10.2017