Следующий CSS выберет #s0, #s1, ... , #s9
, а не #section
, хотя браузер должен реализовать отрицание CCS3 :not()
.
Окончательный выбор эквивалентен:
/^s[0-9]?.*[0-9]$/
, что говоритчто каждый идентификатор должен начинаться с s
и с номера и заканчиваться следующим числом:
s6, s42, s123, s5xgh7, ...
В строке :not()
исключаются те идентификаторы, которые не запускаются должным образом с использованием пустого стиля {}
.
<style>
div:not([id^=s0]):not([id^=s1]):not([id^=s2]):not ... :not([id^=s9]) {}
div[id^=s][id$=0], div[id^=s][id$=1], div[id^=s][id$=2], ... div[id^=s][id$=9] { ... }
</style>
CSS3 не использует регулярные выражения для определения селекторов, НО ...
Модуль условных правил CSS уровня 3
определяет очень специфическую функцию, regexp(<
string
>)
, который анализирует URL-адрес с регулярным выражением при создании правила @document
.