html - 将鼠标悬停在图像上时显示 div

标签 html css hover

我试图在将鼠标悬停在图像上时放大它,并在将鼠标悬停在该图像上时显示带有文本的 div。放大有效,但显示另一个 div 无效。

<div id="punt1">
    <div id="puntnaam1" class="puntnaam">Ieplaan</div>
    <img class="punt"src="ieplaan1.jpg">
</div>

对于我使用的 CSS:

.punt{
    height: 100px;
    width: 100px;
}

.puntnaam{
    display: none;
}

.punt:hover{
    transform: scale(3);
}

.punt:hover .puntnaam{
    display: block;
}

我做错了什么?

最佳答案

您不能使用 CSS 选择 DOM 中之前的兄弟元素或父元素。您只能选择下一个 sibling 或子元素。

例如,如果您将代码更改为:

<div id="punt1">
    <img class="punt"src="ieplaan1.jpg">
    <div id="puntnaam1" class="puntnaam">Ieplaan</div>
</div>

然后你的选择器看起来像这样:

.punt:hover + .puntnaam{
    display: block;
}

因为现在 <div><img> 之后的下一个 sibling

参见:Is there a "previous sibling" CSS selector?

关于html - 将鼠标悬停在图像上时显示 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33379089/

相关文章:

html - 无法正确镜像 div

css - Cufon h2 在 div 上悬停

html - 如何从 Bootstrap 导航栏中删除这条白线并更改文本颜色?

php - 在 HTML 中输出 "<"/">"字符

javascript - jQuery 下拉菜单无法正常工作

CSS 选择器性能?

javascript - 将鼠标悬停在一个上时,将同一父级的所有先前 li 悬停

javascript - 根据数据属性值获取 <tr> 中的输入元素

html - 定位困难

div 定位问题中的 CSS 列表