С помощью at-rules можно иметь набор правил для элементов во время этого события at-rule (например, печать, мобильные устройства и т. Д.). Но как насчет только для определенного селектора?
Я работаю над подстраницей более крупного сайта, и мне приходится использовать основную таблицу стилей для любой из моих страниц. Иногда правило стиля просто превосходит правило из основной таблицы стилей. Чтобы преодолеть это, мне нужно добавить «#mypage #content blah blah» перед всеми моими правилами, чтобы убедиться, что мой css более конкретен. Это становится грязным очень быстро. Я бы предпочел сделать что-то вроде:
@#mypage {
div {
border: 1px solid #000;
}
div p {
color: #00f;
}
}
чтобы все правила, которые я составляю, содержались в идентификаторе раздела страницы, над которой я работаю.
О, я забыл упомянуть, я не могу (насколько я понимаю) использовать @namespace, так как моя страница находится в рамке шаблона (отсюда и необходимость в основной таблице стилей), поэтому, если я просто скажу @namespace (my-page-url) моя таблица стилей будет перезаписывать основную таблицу стилей.
Я что-то упустил?
Пояснение:
Извините, я думаю, что в моей попытке остаться простым я был слишком расплывчатым ...
Я разрабатываю содержимое страницы, которая будет размещена внутри более общего шаблона (заголовок, навигация по боковой панели и т. Д.), Который имеет глобальную таблицу стилей, и я не контролирую какой-либо из этого содержимого.
У меня есть свобода с таблицей стилей только для моего раздела. Я не хочу, чтобы какие-либо мои правила случайно перезаписывали глобальную таблицу стилей, и я хочу избежать необходимости использовать действительно длинные селекторы для моих правил, чтобы избежать того, что глобальная таблица стилей перезаписывает мою таблицу стилей. Например, если я хочу сказать
"все таблицы имеют черную рамку"
Я рискну поставить черную рамку вокруг стола на боковой панели. Однако, если я скажу
"все таблицы в div #content имеют черную рамку"
это работает только до тех пор, пока у них нет более конкретного правила.
Теперь я могу пройтись по каждому правилу и добавить длинный ряд селекторов, чтобы убедиться, что каждое из моих правил работает и только для моего раздела, но это не очень привлекательно или забавно. Я надеялся, что смогу вложить все свои правила в большее правило, как в моем примере выше, чтобы у меня было главное правило:
#content {
//and place all of my style rules inside of that:
p {
border: pink;
}
так что мне нужно только объявить свою специфику один раз, и она охватывает все правила внутри этого основного правила.