cergmin
@cergmin
Developer

Как сделать появление блока при нажатии на ссылку на CSS?

Мне нужно, что бы блок(.map) появлялся при наведении на ссылку(#map_sh). Пробовал сделать таким кодом:
#map_sh:focus+.map {
    display: block;
}

Но ничего не получилось. Фот сайт на котором я это делаю.
Решил проблему JavaScript кодом.
function showHide(element_id) {
            if (document.getElementById(element_id)) {
                var obj = document.getElementById(element_id);

                if (obj.style.display != "block") {
                    obj.style.display = "block";
                } else obj.style.display = "none";
            }
        }
  • Вопрос задан
  • 1162 просмотра
Пригласить эксперта
Ответы на вопрос 2
AlexanderBelov
@AlexanderBelov
Frontend developer
#map_sh:hover + .map {
    display: block;
}


https://jsfiddle.net/0g6z4sLc/
Ответ написан
простым css это не возможно сделать, так как не позволяет в даном случае структура html-коду
используйте библиотеку jQuery и функцию click(если вы хотите, что бы при клике на ссылку #map_sh появлялся блок .map)

$('#map_sh').click(function() {
$('.map').toggleClass('active');
})

или используйте такую конструкцию (если вы хотите, что бы при наведении на ссылку #map_sh появлялся блок .map)

$( "#map_sh" ).hover(
function() {
$( '.map').addClass('active');
}, function() {
$( '.map').removeClass('active');
}
);
Ответ написан
Ваш ответ на вопрос

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

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