CSS parent selector
Тема родительского селектора в ЦСС всплывает ужа давно, если не ошибаюсь, в Вебките даже
Что такое родительский селектор? О, это очень простая и мощная штука, к примеру, если клиент выбрал
.window < :checked { /* экспериментальный синтаксис родительского селектора из Вебкита */
display: none;
}Сразу скажу, задумка мощная, а реализация плохая. Какую проблему тут видно сразу? Непонятно что значает этот знак. Непосредственного родителя мы здесь выбираем или любого? Если непосредственного, как выбрать любого и наоборот?
Все синтаксисы родительского селектора (включая, например, :parent) грешат
Мне бы хотелось видеть абсолютную гибкость в отношении родительского селектора и мне кажется, синтаксис тут напрашивается сам собой:
.window > (:checked ~ :checked) {
display: none;
}Всё сразу становится логично, на мой взгляд: применить стиль к тегу с классом window, у которого два непосредственных
Комментарии 23
:parent:parent:parent:parent:parent:parent:parent:parent:parent:parent
Отлично же ^____^
Это ваше кривое проектирование мне претит! Знаешь селектор -- значит знаешь и айдишник. Пост ни о чём.
Я шучу, конечно же :).
Это как? :)
.xwindow (.window > (:checked+:checked) + .border)
или
.window > (:checked) + .window > (:checked)
{
display: none;
}
тоже самое что предложили вы, по сути, но с привычным if который делает запись в разы понятнее
CSS самобытный язык, ничего привычного в таком способе нет, это полностью вываливается из того синтаксиса, который там есть. Более того, полное ощущение, что if — тег.
мне не хотелось бы чтобы очень быстро настал момент когда с CSS невозможно будет работать без препроцессора как на вход так и на выход
похоже путь к «мои глаза кровоточат от этих условий» неизбежен :(
.window[:checked ~ :checked] {
display: none;
}
Тем более, что это похоже на атрибутные селекторы, то есть переучиваться никому не надо :)
$.window > :checked ~ :checked
Это следует читать как «.window, внутри которого есть два отчекнутых элемента»
«Элемент, прямой потомок которой чекнут, а у соседа тоже есть прямой чекнутый потомок»?
Я смотрю просто во все стороны :) Родительский селектор позволит делать просто офигительные вещи, сейчас его очень нехватает для всяких интересных трюков.
А кого это пугает? Я могу придумать жутко медленные сочетания их существующих селекторов (даже первого уровня), ничего, всё работает же. Скорость селекторов не всегда заметна, не все же делают богатые на вёрсткувеб-приложения.
html article ! html
html > body !> html
li ~ li !~ li
Мне
Пример .window > (:checked ~ :checked) неплохо переносится на :checked ~ :checked ! .window
.window > (article + form > (:checked ~ :checked))
->
:checked ~ :checked !> form !+ article !> window
Есть
Чтобы спорить проще или нет, нужно детально рассматривать, а мне не хочется этим заниматься :)