2013-08-11 1 views
1

Посмотрите на эту структуру элементов.Используйте селектор: hover, чтобы изменить правила элементов глубоких детей с чистым CSS

[#parent] 
    [#childA] 
    [#childChildA] 
    [#childChildB] 
     [#childChildChildA] 
    [#childB] 
[/#parent] 

Я хочу изменить #childChildChildA к opacity: 0; с помощью селектора #childA: hover. Я пробовал:

#childA:hover > #childChildB > #childChildChildA { 
    opacity: 0 !important; 
} 

Но это ничего не принесло. Как я могу изменить глубокий дочерний элемент при использовании гораздо более высокого родительского элемента с чистым CSS?

+0

@DavidThomas, Удивительно, что решение сработало. Благодаря тонну! Идите и опубликуйте это как ответ. – Josiah

ответ

2

вам нужно удалить> 's

<div id='a'> 
    <div id='b'></div> 
    <div id='c'> 
     <div id='d'></div> 
    </div> 
</div> 


#a:hover #C#d { 
    opacity: 0 !important; 
} 

http://jsfiddle.net/qDRwa/

Это пример его с разными названиями идентификаторов.

+0

Спасибо. Это более полезный ответ, поэтому я приму это через несколько минут. Просто обратите внимание, что в этом случае мне нужно только '#b: hover #d {}' – Josiah

+0

Вы правы, что является более упрощенным ответом. Рад, что смог помочь! – Zac

1

Я хотел бы предложить следующее, хотя и (очевидно) непроверенных (учитывая отсутствие HTML, с которыми работать):

#childA:hover #childChildChildA { 
    opacity: 0; 
} 

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

  • Нет связанных вопросов^_^