css - 如何使悬停状态 div 相对于单个 <li> 而不是 <li> 容器?

标签 css hover position

我有几个 <li> 具有 display: inline 属性,因此它们彼此相邻排列。

这些 <li> 包含图像,因此效果是许多缩略图大小的图像并排放置。

将鼠标悬停在图像上后,我设置了一个 css 属性来显示隐藏的 div 的内容。

此 div 已设置样式并显示在图像上方并向左偏移 50px 和顶部 -200px(考虑工具提示样式定位和显示)。

#information {
    display: none;
}

ul li:hover #information {
    display:block;
    position: absolute;
    background:#FFFFFF;
    color: #000000;
    border: 1px solid #CCCCCC;
    width: 190px;
    height: 250px;
    left: 50px;
    top: -200px;
    overflow: hidden;
}

我想要的行为是悬停状态 div 偏移量是相对于图像的,即个人 <li>

我目前的行为是悬停状态 div 偏移量是相对于所有 <li> 的容器的。

在上面的代码示例中,您可以看到悬停状态 div 位置是绝对的,我确实将位置设置为相对位置,但是当悬停时这会导致其他 <li> 改变它们的位置(这可能是因为悬停状态 div 必须具有 display: block 属性才能更改原始 display: hidden 属性)并且悬停状态 div 仍相对于容器而不是单个 <li> 显示。当我将位置设置为绝对位置时,<li> 保留其位置。

所以我的问题是如何使悬停状态 div 相对于单个 <li> 而不是 <li> 的容器的偏移量。

最佳答案

解决方案是向 ul li 添加一个 position: relative 并向悬停状态 div 添加一个 z-index 2。

关于css - 如何使悬停状态 div 相对于单个 <li> 而不是 <li> 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13337674/

相关文章:

CSS,页面分辨率独立网页

javascript - 像 Facebook 一样突出文本区域内的文本

jquery - <TD> 和 <table> 宽度坏了?

jQuery'悬停导致div闪烁

R plotly : Custom hover text does not appear when only one stacked bar

css - position:absolute !important 在 Firefox 中不起作用

javascript - 508 ADA Compliant - 跳过内容的方式

html - Flexbox 很难将图标与容器底部对齐

javascript - 有没有办法在导航列表项上添加 "dropdown menu on hover"?

html - 在不使用 Javascript 的情况下仅使用 CSS 模拟滚动容器中的 Excel 列锁定