html - 李 :hover doesn't get triggered

标签 html css

我已经很长时间没有这样做了,我也查了一下,但是当我将鼠标悬停在 li 上时,我希望它的子 UL 打开(显示),但事实并非如此:

<nav>
    <ul>
        <li><a href="#">Products&nbsp;<img src="~/Shared/Assets/Images/LIItemArrow.png" /></a>
            <ul>
                <li>Hi</li>
            </ul>
        </li>
        <li><a href="#">Services&nbsp;<img src="~/Shared/Assets/Images/LIItemArrow.png" /></a></li>
        <li><a href="#">Shop&nbsp;<img src="~/Shared/Assets/Images/LIItemArrow.png" /></a></li>
    </ul>
</nav>

CSS:

ul li ul { display: none; }

ul li:hover > ul {
    display: block;
}

根据我查阅的几篇文章,我认为我这样做是对的,但为什么行不通呢?

最佳答案

添加 height: auto,这样你的代码就变成了

ul li ul { display: none; }

ul li:hover > ul {
    display: block;
   height: auto;
}

我在创建菜单时遇到了类似的问题。

关于html - 李 :hover doesn't get triggered,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18565602/

相关文章:

html - 使 div 在 body 中居中

html - CSS Onmouseexit 淡出

javascript - 更改标题等于的 DIV 文本

javascript - 替换给定图像数组的背景图像

javascript - 为什么我的 DIV 不响应我的 Javascript 不透明度函数?

html - 无法在CSS中隐藏图像边框

asp.net - 我的 App_Themes 文件夹中有一个 CSS 文件 - 如何将它应用到我的 Web 用户控件?

css - CodeKit 2 - 用代码中的空行编译 less

html - css:使用 :before 和 :after 的三个水平点

javascript - 在 div 中显示前后图像