nepster-web
@nepster-web

Как сделать появление одного элемента при наведении на другой элемент?

Есть вот такой html код:
<ul class="team">
<li>
    <div class="hover-info">
        <div class="popover top">
            <div class="arrow"></div>
            <div class="popover-content">
                <strong class="name">Вася</strong>
                <span class="post">FRONT-END development</span>
            </div>
        </div>
    </div>
    <img src="images/team/1.png" alt="" />
</li>
</ul>


Класс .hover-info изначально скрыт (display: none). Его нужно показывать при наведении именно на картинку, тоесть при наведении на область изображения (1.png), а не на область списка (li).

Возможно ли так сделать без js ?
  • Вопрос задан
  • 14688 просмотров
Решения вопроса 2
DeLaVega
@DeLaVega
Верстаю, фронтэндю =)
Да, просто поменяйте их местами.
img:hover + .hover-info { display: block;}
Ответ написан
iusfof
@iusfof
Front-end developer
более универсальное решение хотя и более заморочистое

html:
<div>
  <div class="block1"></div>
</div>
<div>
  <div class="block2"></div>
</div>


css:
.block1 {
  width: 100px;
  height: 100px;
  border: 1px solid black;
}

.block2 {
  width: 100px;
  height: 100px;
  border: 1px solid black;
  position: absolute;
  left: 200px;
  top: 10px;
}

.block2.when_block1_hover {
  background-color: #333;
}


js + jQuery:
$(function(){
  $('.block1').hover(function(){
    $('.block2').addClass('when_block1_hover');
  }, function(){
    $('.block2').removeClass('when_block1_hover');
  })
});


тоже самое на codepen
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы