Что означает селектор CSS ~ (tilde / squiggle / twiddle)?
Поиск символа ~
нелегко. Я просматривал некоторые CSS и нашел это
.check:checked ~ .content { }
Что это значит?
- Пограничный радиус в процентах (%) и пикселях (px) или em
- CSS3 Поворот анимации
- Есть ли способ разбить список на столбцы?
- Использование атрибута данных HTML для установки URL-адреса фонового изображения CSS
- Может ли псевдоclass classа not () иметь несколько аргументов?
- Должен ли я использовать одиночные двоеточия (:) или двойные двоеточия (: :) для псевдо-элементов до, после, первой буквы и первой строки?
- Форма шестигранника с CSS3
- В чем разница между выравниванием и выравниванием элементов?
- Предотrotation расширения содержимого элементов сетки
- text-overflow: многоточие в Firefox 4? (и FF5)
- Bootstrap 3 не может правильно отобразить глификон
- Сделать шрифты Adobe работать с CSS3 @ font-face в IE9
- Является ли: до псевдоэлемента допустимым на входе ?
Селектор ~
фактически является комбинатором общего брата (переименованный в Комбинатор Последующего-сиблинга в селекторах Уровень 4 ):
Общий комбинированный комбинатор состоит из символа «тильда» (U + 007E, ~), который разделяет две последовательности простых селекторов. Элементы, представленные двумя последовательностями, имеют один и тот же родительский элемент в дереве документов, и элемент, представленный первой последовательностью, предшествует (не обязательно сразу), представленному вторым.
Рассмотрим следующий пример:
.a ~ .b { background-color: powderblue; }
- 1st
- 2nd
- 3rd
- 4th
- 5th
Общий синонимы
Общий селектор комбинаторов сибиринтов очень похож на соседний селектор комбинаторов братьев и сестер. Разница в том, что выбранный элемент не нуждается в немедленном преодолении первого элемента, но может появиться где-то после него.
Больше информации
Хорошо также проверить другие комбинаторы в семье и вернуться к тому, что это такое.
-
ul li
-
ul > li
-
ul + ul
-
ul ~ ul
Пример контрольного списка:
-
ul li
– Заглядывание внутрь – выбор всех элементовli
расположенных (в любом месте) внутриul
; Селектор потомков -
ul > li
– Просмотр внутри – выбирает только прямыеli
элементыul
; т.е. он будет выбирать только прямых детейli
ul
; Селектор «Выбор ребенка» или « Детский комбинатор» -
ul + ul
– Внешний вид – выборul
сразу послеul
; Он не заглядывает внутрь, но смотрит снаружи на следующий следующий элемент; Смежный селектор -
ul ~ ul
– Внешний вид – выбор всейul
которая следует заul
не имеет значения, где она, но обеul
должны иметь один и тот же родитель; Общий селектор
Тот, на который мы смотрим, – это General Sibling Selector
Это General sibling combinator
и объясняется в ответе @ Саламана очень хорошо.
То, что я пропустил, – это Adjacent sibling combinator
который равен +
и тесно связан с ~
.
пример будет
.a + .b { background-color: #ff0000; } - 1st
- 2nd
- 3rd
- 4th
- 5th
- Соответствует элементам
.b
- Примыкают к
.a
- После
.a
в HTML
В приведенном выше примере он будет отмечен 2-м li
но не четвертым.
.a + .b { background-color: #ff0000; }
- 1st
- 2nd
- 3rd
- 4th
- 5th
Обратите внимание, что в селекторе атрибутов (например, [data-components~=wheels]
) тильда
Представляет элемент с именем атрибута attr, значение которого представляет собой список слов, разделенных пробелами, один из которых является точно значением.
https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors