html - 悬停在单元格上时显示弹出窗口 - 没有javascript

标签 html css

我想在鼠标悬停在单元格上时显示弹出窗口

.cell:hover + .popup {
  display: block;
}

但这行不通。它仅在我将鼠标悬停在孔表上时才起作用。你能解释一下为什么吗?这对我来说很奇怪,因为两者都是类。我不想使用 javascript。

.table{
    margin:auto;
    display:table;
    width:800px;
    background-color:lightblue;
    border-collapse:collapse;
}
            
.row
{
    display:table-row;
}
            
.cell
{
    display:table-cell;
    height: 20px;
    padding: 4px;
    border:1px solid black;
}
            
.cell:hover {
    background-color: #ff0000;
}
            
.popup {
    display: none;
}
            
.table:hover + .popup {
    display: block;
}
<div class="table">
  <div class="row">
    <div class="cell">1</div>
    <div class="cell">2</div>
    <div class="cell">3</div>
  </div>
</div>

<div class="popup">Stuff shown on hover</div>

最佳答案

您正在使用 adjacent sibling selector , +。由于 .popup 不是任何 .cell 的 sibling ,因此不会发生任何事情。

现在,您的其他规则 .table:hover + .popup 起作用了,因为 popup 元素是您的表的同级元素。如果您希望单元格悬停在不更改 HTML 的情况下工作,则必须使用 JavaScript - there are no parent selectors in CSS .

关于html - 悬停在单元格上时显示弹出窗口 - 没有javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42532420/

相关文章:

javascript - 将 CSS 和 JS 定位到特定表格

html - css自定义复选框布局

javascript - 在 Bootstrap 中更改断点处的元素位置

html - 对齐 ionic 中心的元素

html - <a tag> 的 css 增加宽度和高度?

javascript - 为什么 JS 函数在我从 JSFiddle 中取出时不起作用?

javascript - JS 不会加载到 html 中

javascript - 代码镜像如何安装

html - 如何从一个div中减去多个形状

javascript - 如何在转换之前获取元素的矩形?