gpt4 book ai didi

html - 如何显示指向具有子菜单的唯一 li 元素的箭头

转载 作者:行者123 更新时间:2023-11-28 16:38:15 24 4
gpt4 key购买 nike

我正在尝试为嵌套菜单创建样式,这已经基本完成,但只剩下一个简单的步骤,我正在尝试弄清楚如何修复。

我想向具有子菜单li 项显示箭头。这看起来很容易做到,但由于嵌套菜单的样式,它变得更加复杂。

目前的问题是,当鼠标悬停在其中没有子菜单的列表项时,它会显示箭头。它不应该显示。

这是代码笔: http://codepen.io/anon/pen/obgWvr

这是我的 html 代码,从 Wordpress 导航菜单生成:

<div style="height:105px; background:url(http://s2.postimg.org/tlyo9809h/bg_header_strip.png); border-bottom:7px solid #00a94e; position:relative;"> 
<div class="mainContainer menu-header-bottom-items" style="height:105px; position:relative;">

<div class="menu-main-menu-container"><ul id="menu-main-menu" class="menu"><li id="menu-item-286" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-286"><a href="http://localhost/wp/sealant-solutions/">Solutions</a></li>
<li id="menu-item-285" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-has-children menu-item-285"><a href="http://localhost/wp/products/">Products</a>
<ul class="sub-menu">
<li id="menu-item-312" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-has-children menu-item-312"><a href="http://localhost/wp/cups/">Cups</a>
<ul class="sub-menu">
<li id="menu-item-313" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-313"><a href="http://localhost/wp/pink-cup/">Pink Cup</a></li>
<li id="menu-item-314" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-has-children menu-item-314"><a href="http://localhost/wp/black-cup/">Black Cup</a>
<ul class="sub-menu">
<li id="menu-item-318" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-318"><a href="http://localhost/wp/test-page/">Test Page</a></li>
</ul>
</li>
</ul>
</li>
<li id="menu-item-315" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-has-children menu-item-315"><a href="http://localhost/wp/normal-plates/">Normal Plates</a>
<ul class="sub-menu">
<li id="menu-item-316" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-316"><a href="http://localhost/wp/resources/">Resources</a></li>
<li id="menu-item-317" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-317"><a href="http://localhost/wp/support/">Support</a></li>
</ul>
</li>
</ul>
</li>
<li id="menu-item-291" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-291"><a href="http://localhost/wp/about/">About</a></li>
</ul></div>



<b1r clear="all">
</div>

这是CSS:

.menu-header-bottom-items ul{
list-style:none;
padding:0;
margin:0;
width:100%;
height:105px;
z-index:9999;
}
.menu-header-bottom-items li{
float:left;
width:auto;
color:#fff;
text-align:center;
}

.menu-header-bottom-items li a{
color:#fff;
padding:47px 43px;
display: block;
font-size:14px;
font-weight:300;
text-transform:uppercase;
text-decoration:none;
}
.menu-header-bottom-items li a:hover{ background:#00a94e;}
.menu-header-bottom-items li.current-menu-item{ background:#00a94e; margin-top:-20px; padding-bottom:20px;}

.menu-item-has-children{ position:relative;}
.menu-item-has-children ul{
position:absolute;
display:none;
flex:0;
}
.menu-item-has-children:hover > ul{display:block;}
.menu-item-has-children li a{ padding:15px; text-align:left; }
.menu-item-has-children li { padding:0; float:none; background:url(http://s2.postimg.org/tlyo9809h/bg_header_strip.png);}
.menu-item-has-children ul ul { left:100%;top:0;}
ul.sub-menu li.menu-item-has-children{ background:url(http://s28.postimg.org/ilizrjzax/arrow_right.png) no-repeat 95% center,url(http://s2.postimg.org/tlyo9809h/bg_header_strip.png);}
ul.sub-menu li.menu-item-has-children:hover{ background:#00a94e url(http://s28.postimg.org/ilizrjzax/arrow_right.png) no-repeat 95% center;}
li.current-menu-item > ul{ margin-top:20px;}
.sub-menu li a:hover{ background:#00a94e;}
ul.sub-menu li.menu-item-has-children a:hover{ background:#00a94e url(http://s28.postimg.org/ilizrjzax/arrow_right.png) no-repeat 95% center;}
.menu-header-bottom-items li:hover{ background:#00a94e;}

最佳答案

只需将具有子菜单项的相同样式添加到父级菜单(具有子菜单)

li.menu-item-has-children,
li.menu-item-has-children:hover{
background:url(http://s28.postimg.org/ilizrjzax/arrow_right.png) no-repeat 95% center;
}

我删除了以下内容,因为它覆盖了背景箭头图像(并且无论如何都应用于 li)

.menu-header-bottom-items li a:hover{
background:#00a94e;
}

我还将 > 选择器添加到下一行,因为它将箭头图像添加到所有具有子菜单的元素的 anchor (即没有子菜单的三级菜单项)

ul.sub-menu li.menu-item-has-children > a:hover{
background:#00a94e url(http://s28.postimg.org/ilizrjzax/arrow_right.png) no-repeat 95% center;
}

http://codepen.io/brn2drv99/pen/ZQYyPO

关于html - 如何显示指向具有子菜单的唯一 li 元素的箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34143995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com