2017-02-16 2 views
0

Я пытаюсь манипулировать родным братом элемента путем зависания его родственного элемента. Я делаю это так:Сибловский наклон через css не работает - почему?

.sw_2-technik + .sw_2-emotionen{ 
    background:green; 
} 

.sw_2-emotionen:hover ~ .sw_2-technik{ 
    background:orange; 
} 

В то время как HTML-структура является своего рода как то:

<section class="wrapper"> 
<div class="sw_2-technik"></div> 
<div class="sw_2-emotionen"></div> 
</section> 

Хотя первая операция работает хорошо, второй (.sw_2-emotionen: парить ~ .sw_2 -technik) ничего не делает. Что я там делаю?

Спасибо!

+1

Вы можете только цель следующих братьев и сестер, а не предыдущие – LGSon

+0

Если вы хотите настроить таргетинг на предыдущий родственный с CSS, здесь чистый и простой метод: http://stackoverflow.com/a/36118012/3597276 –

ответ

2

Селекторы сиблинга влияют только на элементы, когда второй приходит после первого на странице, а не наоборот.

https://developer.mozilla.org/en-US/docs/Web/CSS/General_sibling_selectors

Команда ~ комбинатор отделяет два селектора и соответствует второй элемент только если он предшествует первому, и оба имеют общую родителя.

+0

Но дон» У меня есть такая ситуация? С обоими братьями и сестрами внутри одной и той же обертки (общий родитель) и - хотя я не знаю точно, что означают «предшествующие» - второй элемент действительно следует сразу после первого. Или я там что-то не так понял? Благодаря! – Daiaiai

+0

@Daiaiai положил 'sw_2-emotionen' перед' sw_2-technik', и вы увидите. –

+0

@ uom-pgregorio Но я думал, что «+» был особенно использован для этих сиутаций, чтобы нацелить элемент прямо после этого? Почему я вообще должен использовать «~» Итак, простой ответ: Ситуация, которая у меня есть, не возможна без JS? – Daiaiai

Смежные вопросы