【问题标题】:Why does my submenu doesnt show the defined hover change?为什么我的子菜单没有显示定义的悬停变化?
【发布时间】:2021-04-02 23:15:30
【问题描述】:

我试图找出我的下拉菜单(仅 HTML、CSS)不起作用的原因。我正在使用经典的 :hover 选项将 display:none; 更改为 display:flex;。我的目标是,当用户将鼠标悬停在“Unsere Produkte”上时,会出现一个子菜单。在需要隐藏之前。如果有人可以帮助我,我会很高兴。非常感谢。

/* Desktop Navigation Bar fixed*/
.hidden{
    display:none;
    flex-direction: column;
    position: absolute;
    z-index: -5;
    background-color: #FFFEF9;
    padding-left:2%;
    padding-right:2%;
    transition: all .375s;
}
.hidden a{
    margin-top: 5%;
    margin-bottom: 5%;
    background-color: #FFFEF9;
}
.hidden a:hover{
    color: #BF9D1D;
}
#produkt:hover > .hidden {
    display:flex;
    z-index: 888;
    flex-direction: column;
    position: absolute;
    z-index: -5;
    background-color: #FFFEF9;
    padding-left:2%;
    padding-right:2%;
    transition: all .375s;
}
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" type="text/css" href="styles.css">
    
</head>
<body>
<div class="fixed-nav">
    <div class="header">
        <div class="col-1 head-1"></div>
        <div class="col-3"></div>
        <div class="col-1 sans-serif-caption xy">
            <div class="header-box1 col-4 sans-serif-caption">
                <li class="space"><a href="#UeberUns">Über Uns</a></li>
                <li class="space hidden-1">
                    <a id="produkt">Unsere Produkte</a>
                    <ul class="hidden">
                        <a href="#">Unterfußdüngung mit KS NP MIX</a>
                        <a href="#">HARMI-SOIL 8.0/15 </a>
                        <a href="#">Agrimax Konzentrat</a>
                    </ul>
                </li>
                
            </div>
            <div class="header-box2 col-4">
                <li>
                <image src="media/logo_2.svg" alt="logo"/>
                </li>
            </div>    
            <div class="header-box1 sans-serif-caption col-4">
                <li class="sans-serif-caption space"><a href="#Kontakt">Kontakt</a></li>
                <div class="search sans-serif-caption">
                    <input type="text" placeholder="Suche">
                    <image src="media/search-24px.svg" alt="search-icon" />
                </div>
                <div class="language-button row sans-serif-caption">
                    <image src="media/language-24px.svg" alt="language-icon" width="14px"                            height="14px"/>
                    <a>de</a>
                </div>
            </div>    
        </div>
    </div>
</div>
</body>
</html>

【问题讨论】:

    标签: html css hover


    【解决方案1】:

    “>”选择器指向一个直接的 CHILD 元素。
    在您的 html 中, &lt;a id="produkt"&gt;&lt;ul class="hidden"&gt; 是兄弟姐妹。
    所以请改用“~”,它会选择兄弟元素。

    像这样:

    #produkt:hover ~ .hidden {
        display:flex;
        z-index: 888;
        flex-direction: column;
        position: absolute;
        z-index: -5;
        background-color: #FFFEF9;
        padding-left:2%;
        padding-right:2%;
        transition: all .375s;
    }
    

    【讨论】:

    • 非常感谢,就这样!
    • 乐于助人:)
    猜你喜欢
    • 2022-12-17
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 2015-05-10
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多