CSS:隐藏一部分阴影

标签 css

我的页面中有一个 CSS 菜单。当我将鼠标悬停在元素上时,会出现它们的下拉菜单。我使用了一些像这样的 css 阴影:

#menu li:hover
{
    //...
    -moz-box-shadow: -2px 0px 5px #000;
    -webkit-box-shadow: -2px 0px 5px #000;
    box-shadow: -2px 0px 5px #000;
}

同样在我的下拉类中,我使用了一些阴影:

.drop-down
{
    //...
    display:none;
    -moz-box-shadow: -2px 2px 5px #000;
    -webkit-box-shadow: -2px 2px 5px #000;
    box-shadow: -2px 2px 5px #000;
}

结果是这样的:

Shadow

所以我的问题是,如何隐藏第一个元素 下的阴影并使下拉菜单和菜单看起来像一个单独的对象(不是分开的)?

编辑: 这是显示下拉菜单的 html 和 css:

<ul id="menu">
    <li><a href="#">First Item</a>
    <div class="drop-down">
        <div>
            ...</div>
    </div>
    </li>
</ul>

#menu li:hover .drop-down
{
    left: -1px;
    display: block;
    top: auto;
}

这是一个simple version of that in jsfiddle.net

最佳答案

如果我没理解错的话,您希望在菜单项文本和显示的菜单周围应用一个边框。在您发布的 jsfiddle 中,此问题的主要问题似乎是 .drop-down 具有绝对位置,因此不在其父级的 div block 内。当然,您希望下拉菜单绝对定位,这样它们就不会影响页面上的其他元素(即下推正文)。

因此,最好的解决方案可能是重复下拉菜单中的菜单文本,并将其绝对定位在一行上,以便覆盖原始菜单文本。这样,您就可以将任何样式作为一个单元应用到它。

关于CSS:隐藏一部分阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8687144/

相关文章:

css - Foundation 5 和页面打印

css - 我怎样才能让这个 div 向左而不是向右?

html - CSS - 媒体查询/RWD,隐藏在固定导航后面的 Logo 图像文件

jquery - css 和 jquery 的布局问题

css - @font-face 两个解析错误

jquery - 如何禁用选定的日期?

html - 透明边框和框阴影问题

javascript - 单击时显示/隐藏多个弹出窗口

javascript - 表格中的最后一列不可点击

html - 保持相对宽度/高度元素