Есть такой код:
<div class="div1">
<div class="div11">Текст</div>
</div>
<div class="div2">
<div class="div12">Текст</div>
</div>
Как сделать так, чтобы при наведении на .div11 менялся фон div12. Верстку нельзя менять.
var div11 = document.querySelector('.div11');
var div12 = document.querySelector('.div12');
div11.addEventListener('mouseover', handle);
div11.addEventListener('mouseleave', handle2);
function handle() {
div12.style.background = 'lightgreen';
}
function handle2() {
div12.style.background = '';
}
<div class="div1">
<div class="div11">Текст</div>
</div>
<div class="div2">
<div class="div12">Текст</div>
</div>
Никак, если использовать только CSS - CSS правила действуют каскадно.
Можно лишь через наведение на .div1
, т.к. он на одном уровне с .div2
.
Если через использование скриптов, то, например, вот так:
$('.div11').hover(
function() {
$('.div12').css('background', 'green')
},
function() {
$('.div12').css('background', 'transparent')
}
)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<div class="div1">
<div class="div11">Текст</div>
</div>
<div class="div2">
<div class="div12">Текст</div>
</div>
Даже если строк куда больше (и без JavaScript):
div[class^="div"]:hover + div[class^="div"] > div {
background: lime;
}
<div class="div1">
<div class="div11">Текст</div>
</div>
<div class="div2">
<div class="div12">Текст</div>
</div>
<div class="div3">
<div class="div13">Текст</div>
</div>
<div class="div4">
<div class="div14">Текст</div>
</div>
<div class="div5">
<div class="div15">Текст</div>
</div>
<div class="div6">
<div class="div16">Текст</div>
</div>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть миниатюра картинки, которая должна раскрываться в полном размере с помощью библиотеки fancyboxВопрос: можно ли для этого играться только...
Есть 5 блоков, 4 играют роль фона, а пятый как объектКак реализовать чтобы при наведении на блок заставить двигаться пятый блок?