У меня есть html-страница с div, у которых есть id (s) формы s1 , s2 и так далее.
<div id="sections">
<div id="s1">...</div>
<div id="s2">...</div>
...
</div>
Я хочу применить свойство css к подмножеству этих разделов / div (в зависимости от идентификатора). Однако каждый раз, когда я добавляю div , мне приходится добавлять CSS для раздела отдельно, вот так.
//css
#s1{
...
}
Есть ли что-то вроде регулярных выражений в css, которые я могу использовать для применения стиля к набору div .
class
атрибут для определения класса элементов с этими идентификаторамиОтветы:
Вы можете управлять выбором этих элементов без какой-либо формы регулярного выражения, как показывают предыдущие ответы, но чтобы ответить на вопрос напрямую, да, вы можете использовать форму регулярного выражения в селекторах:
Это говорит о том, что выберите любые элементы div внутри div #sections, идентификаторы которых начинаются с буквы 's'.
Смотрите скрипку здесь .
Документация по селектору CSS W3 здесь .
источник
В качестве дополнения к этому ответу вы можете использовать
$
для получения конечных совпадений и*
для получения совпадений в любом месте имени значения.Матчи в любом месте:
.col-md
,.left-col
,.col
,.tricolor
и т.д.Матчи в начале:
.col-md
,.col-sm-6
и т.д.Матчи в финале:
.left-col
,.right-col
и т.д.источник
Идентификатор предназначен для уникальной идентификации элемента . Любые стили, применяемые к нему, также должны быть уникальными для этого элемента. Если у вас есть стили, которые вы хотите применить ко многим элементам, вы должны добавить класс для них всех, а не полагаться на селекторы идентификаторов ...
и
Или в вашем конкретном случае вы можете выбрать все подразделения внутри родительского контейнера, если в нем больше ничего нет, например:
источник
Прежде всего, существует множество способов сопоставления элементов в документе HTML. Начните с этой ссылки, чтобы увидеть некоторые из доступных селекторов / шаблонов, которые вы можете использовать для применения правила стиля к элементу (ам).
http://www.w3.org/TR/selectors/
Сопоставьте все
div
s, являющиеся прямыми потомками#main
.Сопоставьте все
div
s, которые являются прямыми или косвенными потомками#main
.Соответствует первому,
div
который является прямым потомком#sections
.Сопоставьте a
div
с определенным атрибутом.источник
Вы можете просто добавить класс к каждому из ваших DIV и применить правило к этому классу следующим образом:
HTML:
CSS:
источник
.thepage #someid
но это может быть очень длинным при расширенном стиле таблиц или списков. Это была не столько критика вашего ответа, сколько общий совет, расширяющий ваш ответ :-)Я обычно использую,
*
когда хочу получить все строки, содержащие нужные символы.*
используется в регулярном выражении, заменяет все символы.Используется в SASS или CSS, что-то вроде того,
[id*="s"]
и он получит все элементы DOM с идентификатором "s ......".источник
Попробуйте мое обычное регулярное выражение CSS
Демо https://regexr.com/4a22i
источник
есть еще один простой способ выбрать определенные элементы в css ...
если у вас есть только несколько элементов на выбор и вы не хотите возиться с классами, это тоже сработает.
источник