Що означають властивості перекресленого стилю в розробниках Google Chrome?


274

Під час огляду елемента за допомогою devtools Chrome на вкладці елементів праворуч на панелі "Стилі" відображаються відповідні властивості CSS. Часом деякі з цих властивостей вражаються. Що означають ці властивості?


4
Я передбачив це питання. +1 для цього.
Rajesh Paul

Відповіді:


314

Коли властивість CSS відображається як проривна, це означає, що стиль перекресленого був застосований, але потім замінений більш конкретним селектором, більш локальним правилом або пізнішою властивістю в межах того ж правила.

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

Наприклад, якщо колір фону застосовано до всіх divs, але інший колір фону застосовано до divs з певним ідентифікатором, перший колір з’явиться, але буде перекреслений, оскільки другий колір його замінив (у властивості список для divцього ідентифікатора).


18
У бічній примітці, перекреслені властивості можуть бути ті, що "скасовані" однойменними властивостями пізніше в тому ж правилі CSS (як вимагає специфікація CSS)
Олександр Павлов

57
@JacobM: Як дізнатися, яка властивість переосмислює властивість, що вражається.
ArunRaj

51
@ArunRaj - Існує непростий спосіб визначити, яка властивість (або властивості) перекриває перекреслену. Один із варіантів - заглянути на вкладку "обчислювані" стилі, щоб знайти той самий тип властивості, а потім, якщо ви розгорнете, ви побачите джерело різних правил, які намагаються застосувати це властивість (включаючи те, що насправді є активним) . Отже, якщо ви бачите, що "font-size: 11px" перекреслено, погляньте в обчислювані властивості "font-size", і вам слід побачити всі місця, до яких застосовується розмір шрифту, включаючи фактично активний. Сподіваюсь, це допомагає.
Джейкоб Меттісон

7
Зараз у верхній частині вкладки Стилі є поле Фільтр. Якщо вам цікаво, що змінилося, border-colorпросто введіть border-colorу фільтр. На ньому будуть показані всі правила, що містять цю властивість, при цьому властивість буде виділено жовтим кольором. Ця функція також доступна в Firefox.
joeytwiddle

4
Також хочеться додати: Якщо стиль закреслено, але він уже знаходиться вгорі, то, можливо, десь буде стиль CSS, !importantякий його перезаписав.
Домінік К

12

На бічній записці. Якщо ви використовуєте @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 **

що робити, якщо медіа-запити містяться в іншому файлі css?
Карлос Ернандес Гіл

11

На додаток до вищезазначеної відповіді я також хочу висвітлити випадок викресленого майна, яке мене дійсно здивувало.

Якщо ви додаєте фонове зображення в 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; 
}

то в хромі ви побачите розмір фону як викреслений. Я не впевнений, чому це, але так, ти не хочеш з цим возитися.


8

Якщо ви хочете застосувати стиль навіть після отримання вказівки прокреслення, ви можете використовувати його "!important"для застосування стилю. Це може бути не правильним рішенням, але вирішити проблему.


У мене виникли проблеми з масштабуванням GoogleMap для мобільних телефонів через засоби масової інформації. У мене є базовий параметр для браузерів (без носіїв), а за ними йдуть різні медіа з меншими розмірами, які не спрацьовують (правильний стиль для мобільних пристроїв показаний в GC, але з перекресленням). Після того, як я додав! Важливо, він працює, але я не розумію "логіки", що стоїть за ним ...
FredyWenger

-5

Бувають випадки, коли ви копіюєте і вставляєте код CSS кудись, і він порушує формат, щоб Chrome відображав жовте попередження. Спробуйте спробувати переформатувати код CSS ще раз, і він повинен бути добре.


2
Питання нічого не задавало про "жовті попередження". Ця відповідь повинна прокоментувати в кращому випадку.
Саймон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.