CSS3 Как по ребенку изменить стиль родителя?
Например
<ul> <li class="myli"> <a>Привет</a> </li> </ul> Как зная только класс .myli , добавить отступ родителю? в нашем случае родитель ul Нашел кучу псевдоклассов для детей, а для родителя ни одного. |
Для родителя нету. CSS селекторы анализируются только справа налево (для производительности).
В данном случаи поможет только js. |
Никак иначе это может приводить к бесконечной рекурсии и полному распаду каскадности стилей.
Если грубо на пальцах объяснять то ребенок не должен никак влиять на родителя т.к. родитель по умолчанию влияет на ребенка. Взаимное влияние сделает невозможным разрешение стилей по этому это принципиально запрещено. |
В настоящее время нет способа выбрать родительский элемент в CSS.
Черновик проекта "Селекторы Уровень 4" включает в себя псевдо-класс :has() , который позволяет это делать. https://drafts.csswg.org/selectors-4/#relational ul:has(> .myli) { margin: 1em; } По состоянию на 2017 год, это не доступно ни в одном браузере. http://caniuse.com/#feat=css-has |
Часовой пояс GMT +3, время: 13:24. |