【问题标题】:Stacked divs need active z-index hover state堆叠的 div 需要活动的 z-index 悬停状态
【发布时间】:2011-12-28 13:50:23
【问题描述】:

如果您查看我的页面located here,您可以看到堆叠的 div。它们向左浮动并具有负的右边距。当您将鼠标悬停在它们上方时,它们的 z-index 为 100,将它们带到堆栈的顶部。但是,当您从左到右移动时,您会注意到开始堆栈的那个仍然在悬停的那个后面,所以您之前悬停的那个落在了堆栈的后面,使它的右列或左列不可见。

我解决这个问题的想法是让每张“活动”卡片的 z-index 为 99,同时让卡片处于正常状态 z-index 98。但是,它不起作用:-(

你有什么想法可以解决我的困境吗?

.card {
margin-right:-670px;
float:left;
width:700px;
height:500px;
background:#EEE;
-moz-box-shadow: 2px 2px 2px 2px #000;
-webkit-box-shadow: 2px 2px 2px 2px #000;
position:relative;
z-index:98;
}

.card:visited {
z-index:99;
}

.card:hover {
z-index:100;
}

编辑:

这就是我的最终产品的样子。感谢您的建议,但它们并不是完全正确的答案。

【问题讨论】:

    标签: html css hover z-index


    【解决方案1】:

    您意识到“活动”转换为“当前正在被点击”,对吧?

    如果没有 jquery 或 javascript,我不知道如何完成你想要的。

    【讨论】:

      【解决方案2】:

      如果采用不同的方法,您可能会获得更好的成功。

      让你的卡片像你已经做的那样适合作为背景在薄 div 中,但也有完整的卡片可见性:隐藏在同一位置。您将鼠标悬停在卡片边缘并更改可见性以显示相关联的完整卡片。鼠标关闭,可见性再次隐藏。

      试图堆叠它们以保持它们全部可见等是在自找麻烦 :)

      【讨论】:

      • 原因是它们是动态发布的,这是 Tumblr 的主题。这意味着我不能考虑单独的卡。同样在音频帖子中,如果看不到音频会在帖子上停止播放,谁愿意在同一个帖子上坐 3-4 分钟以上?加号
      • 好的,然后尝试将它们按顺序堆叠 z-index:99、100、101 等。使所选的一个高于其余的。您只需要维护原始的 z-index 顺序。 Finding the topmost z-index 可以在这种情况下提供帮助。
      【解决方案3】:

      请参阅here 以获取实现所需内容的免费 js 方式。我同意 zagnut 关于将图像用作 div 的背景的观点,请查看 this 以了解实现该目标的方法。我还建议对您的 html 进行一般清理

      【讨论】:

      • 谢谢!我知道我一团糟。 :(
      • 演示很好,但违背了我的设计目的:(
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      • 1970-01-01
      • 1970-01-01
      • 2011-10-06
      • 2015-06-25
      • 2018-02-04
      相关资源
      最近更新 更多