2013-03-27 4 views
0

Есть ли эквивалент селектору JQuery $(this) в CSS? Как это:

.widget h4 { background: black } 
.widget:hover h4 { background: white } 

В этом случае, если любой из .widget классифицируемых элементов завис над, ребенок h4 изменит цвет фона. Я спрашиваю, есть ли способ в CSS, чтобы сделать это так, чтобы толькоh4 только что набрал .widget с изменением цвета bg, а не с каждым элементом с классом .widget. Да, я искал по всему Google и ничего не нашел. Спасибо за помощь.

+3

Ваш существующий код должен сделать это уже. Если это не так, это означает, что виджеты вложены, и вы должны тщательно изменить свой вопрос. – Jon

+0

http://css-tricks.com/hover-on-everything-but/ – l2aelba

+0

Мой код делает именно то, что я ожидаю. Я ожидаю, что какой-либо элемент с классом '.widget' будет зависать, изменяется его дочерний элемент' h4'. Но он изменяется для элементов _all_ '.widget'. Я что-то упускаю? – preahkumpii

ответ

1

Опубликованный код должен делать именно так, как вы описываете вы хотите вести себя:

CSS:

.widget h4 { background: red } 
.widget:hover h4 { background: white } 

HTML:

<div class="widget"> 
    <h4>Hover here</h4> 
    <h3>This won't change</h3> 
</div> 

<div class="widget"> 
    <h4>Hover here</h4> 
</div> 

С этим кодом, если вы наведите указатель мыши на любой из divs .widget, это изменит только прямого ребенка h4, а не в другом div.

см. Это jsfiddle

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