html - 当我转到 html 页面中的子菜单时,无法在菜单上保持悬停状态

标签 html css menu submenu

我能够制作一个侧面菜单,当我将鼠标悬停在菜单项上时它会显示子菜单。 现在我面临两个问题 1. 当悬停在菜单项上时,它会显示子菜单,但是当我悬停在子菜单上时,菜单项的悬停状态消失了。我需要它处于悬停状态。 2.子菜单 block 显示时,它显示为透明的,我可以看到它后面的内容。但是我怎样才能让它完全不透明呢?

我的代码如下...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>CSS Drop Down Menus</title>

<style type="text/css">
<!-- * {
    margin: 0;
    padding: 0;
}

body {
    font-family: "Trebuchet MS", Helvetica, Sans-Serif;
    font-size: 14px;
} -->

a {
    text-decoration: none;
    color: #FFFFFF;
}

a:hover {
    color: black;

}

#menu {
    position: relative;
    width:20%;
    height:400px;
    border:1px solid #000;
}

#menu a {
    display: block;
    width: 140px;
    background-image:url(menuitemhover.png);
}

#menu ul {
    list-style-type: none;
    padding-top: 5px;
}

#menu li {
    float: top;
    position: relative;
    padding: 3px 0;
    text-align: center;
}

#menu ul.sub-menu {
    display: none;
    position: absolute;
    top: -10px;
    left: 170px;
    padding: 10px;
    z-index: 90;
}

#menu ul.sub-menu li {
    text-align: top;
}

#menu li:hover > ul.sub-menu {
    display: block;
    border: 1px solid #ececec;
    background-image:url(menuitemhover.png);
}
</style>

</head>
<body>

<div id="menu">
    <ul>
        <li><a href="#">Home</a>

        <ul class="sub-menu" style="border:1px solid #d14836"}>
            <li><a href="#">Pages</a></li>
            <li><a href="#">Archives</a></li>
            <li><a href="#">New Posts</a></li>
            <li><a href="#">Recent Comments</a></li>
        </ul>

        </li>

        <li><a href="#">About</a>

        <ul class="sub-menu" style="border:1px solid #d14836">
            <li><a href="#">Get to know us</a></li>
            <li><a href="#">Find out what we do</a></li>
        </ul>

        </li>

        <li><a href="#">Contact</a>

        <ul class="sub-menu" style="border:1px solid #d14836">
            <li><a href="#">E-mail Us</a></li>
            <li><a href="#">Use Our Contact Form</a></li>
        </ul>

        </li>
    </ul>
</div>

</body>
</html>

最佳答案

如果我没理解错的话,您需要为 #menu li:hover > ul.sub-menu#menu a 应用背景色。我更容易尝试使用非常明显的颜色进行测试,如绿色或红色。测试完成后,只需更换任何你想要的颜色

关于html - 当我转到 html 页面中的子菜单时,无法在菜单上保持悬停状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15332511/

相关文章:

html - 悬停时菜单向左移动

jquery - CSS 变换干扰 z-index

javascript - 我想为这个径向渐变和 div 生成边框

html - 下拉子菜单 HTML 和 CSS(摇动)

css - 调整大小后响应式菜单无法点击链接

html - 1 个像素会导致 Bootstrap 列溢出,还有如何使我的列大小动态化?

html 电子邮件 outlook 2003 问题

javascript - 将多个 .random 类添加到多个 div 而不会重复

jquery - 需要帮助在鼠标悬停事件的 div 上添加带箭头的标题

html - 如何使用 css 使我的 jquery 移动可折叠集更大