Я создаю карту / план этажа при наведении, но изображение при наведении + текст, кажется, не реагирует на изображение.Я использую фиксированное значение и понимаю, что должен использовать%, но даже когда я это делаю, у меня недостаточно опыта, чтобы заставить его работать.
Как выглядит, когда изображение не реагирует
Как выглядит, когда изображение реагирует
CSS:
.hoverinfosupermarket {
position: absolute;
top:79%;
left: 37%;
font-size: 80%;
font-family: Arial;
font-weight: bold;
color: #6e706f;
cursor: default;
}
.hoverinfosupermarket p {
display: none;
color: #000000;
font-size:10px;
}
.hoverinfosupermarket:hover p {
background-color: rgba(255, 255, 255, 0.7);
display: block;
}
HTML:
<div class="hoverinfosupermarket">
<span>#B1-01</span>
<p>
<img alt="Supermarket" src="/cs/w/img/supermarket.jpg" /><br />
Supermarket
</p>
</div>
Карта / план этажа фактически находится внутри вкладки, и изображение + текст при наведении также находится внутри этой вкладки.
<div class="tab">
<button class="tablinks" onclick="openMap(event, 'B1')">B1</button>
<button class="tablinks" onclick="openMap(event, 'L1')">L1</button>
</div>
<script>
function openMap(evt, mapName) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
document.getElementById(mapName).style.display = "block";
evt.currentTarget.className += " active";
}
</script>
CSS:
.tab {
overflow: hidden;
border: 1px solid #ccc;
background-color: #f1f1f1;
}
.tab button {
background-color: inherit;
float: left;
border: none;
outline: none;
cursor: pointer;
padding: 14px 16px;
transition: 0.3s;
font-size: 17px;
}
.tab button:hover {
background-color: #ddd;
}
.tab button.active {
background-color: #ccc;
}
.tabcontent {
display: none;
padding: 6px 12px;
border: 1px solid #ccc;
border-top: none;
}