drop-down-menu - 使 UL 子菜单出现在其具有阴影效果的包含框后面

标签 drop-down-menu z-index shadow submenu css

我有一个带阴影效果的标题栏,其中包含导航链接;当您将鼠标悬停在它们上方时,会出现一个子菜单。

See test page here

如何让子菜单出现在标题条后面的层上?我需要将页眉的框阴影转换到子菜单的顶部。

当前子菜单(.main-navigation li ul)的 z-index 低于标题条(.site-header),但这是有没有效果。我试过给它一个负 z-index 但这把它放在内容后面(因此隐藏)并且链接不再有效 - 我读过这是一个常见问题所以我想避免使用负 z-索引。

希望你能帮到你。

最佳答案

Z-index 在这种情况下可能不是解决方案,因为 stacking context的元素。在不重新排序 html 的情况下,您可以在附加到子菜单的伪元素上使用 box-shadow 来尝试这个技巧。例如:

.main-navigation li ul { display: none; position: absolute; top: 100%; margin: 0; overflow: hidden; }
.main-navigation li ul:before { content: ""; display: block; width: 160%; height: 10px; margin-left: -30%; box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2); }

检查这个DEMO .请注意,这只是一种可能的解决方案,因为可能还有其他方法可以达到相同的效果。

文本内容应该已经自然地出现在标题的阴影后面,因为它是一个相邻的兄弟元素,在 html 中排在标题之后。 (我在演示中的内容 div 中添加了背景图片以显示这一点。)

关于drop-down-menu - 使 UL 子菜单出现在其具有阴影效果的包含框后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18903437/

相关文章:

css - Rails 4 x Bootstrap 3 : how to apply custom style to select field

css - 响应式菜单媒体查询

javascript - 菜单切换上的 jQuery slideToggle 跳转动画

ie 8中隐藏的jquery Slide Box Menu

html - 是否可以在没有 JS 或图像映射的情况下使具有较低 z-index 的区域可点击?

z-index - z-index 无法正常工作

php - 数据库查询信息到下拉菜单

c++ - 带阴影的聚光灯变成方形

css - 在 Chrome 中的非方形对象上插入阴影

iphone - 为 UITableView 添加阴影