gpt4 book ai didi

javascript - 带下拉菜单的侧边菜单

转载 作者:太空宇宙 更新时间:2023-11-04 02:45:43 25 4
gpt4 key购买 nike

我正在尝试创建如下图所示的侧边菜单。

我希望菜单出现并且事件链接具有不同的颜色。当用户点击商店链接时,我希望他们看到一个下拉菜单。

Side Menu Image

html:

<div id="mainSidebar">
<div id="menu">
<nav>
<ul>

<li><a href="#">SHOP</a></li>
<li><a href="#">ABOUT</a></li>
<li><a href="#">CONTACT</a></li>
<li><a href="#">LEGAL</a></li>
</ul>
</nav>
</div>
</div>

CSS:

#menu nav ul li  {
font-size: 11px;
top:106px;
list-style-type: none;
text-decoration: none;
color:#ffffff;
line-height: 19px;
}
nav a {
color:rgb(153, 153, 153);
text-decoration: none;
}
#mainSidebar {
display: block;
font-family:arial;
font-size: 11px;
font-stretch: normal;
font-style: normal;
font-variant: normal;
font-weight: normal;
height: 450px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
margin-top: 0px;
min-height: 750px;
padding-bottom: 0px;
padding-left: 0px;
padding-right: 0px;
padding-top: 0px;
position: fixed;
text-transform: uppercase;
vertical-align: baseline;
}
#menu nav ul {
padding: 0px;
line-height: 11.5px;
margin-top: 0px;
padding-bottom: 5px;
width: 143px;
padding-top: 5px;
}
#menu nav ul li a:hover{
color: #ffffff;
text-decoration: underline;
}

最佳答案

这似乎是您要找的。我只在 CSS 中添加了前几行。

如果您希望它只在点击时打开,而不是在悬停时打开,则需要 javascript 编码。

body {
background: black;
color: white;
}

#menu nav > ul > li > ul {
display: none;
text-align: right;
}

#menu nav a {
display: block;
}

#menu nav > ul > li > a {
display: block;
border-bottom: 3px solid transparent;
}

#menu nav > ul > li:hover > a {
border-bottom: 3px solid white;
}

#menu nav > ul > li:hover > ul {
display: block;
}

#menu nav ul li {
font-size: 11px;
top:106px;
list-style-type: none;
text-decoration: none;
color:#ffffff;
line-height: 19px;
}

nav a {
color:rgb(153, 153, 153);
text-decoration: none;
}
#mainSidebar {
display: block;
font-family:arial;
font-size: 11px;
font-stretch: normal;
font-style: normal;
font-variant: normal;
font-weight: normal;
height: 450px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
margin-top: 0px;
min-height: 750px;
padding-bottom: 0px;
padding-left: 0px;
padding-right: 0px;
padding-top: 0px;
position: fixed;
text-transform: uppercase;
vertical-align: baseline;
}
#menu nav ul {
padding: 0px;
line-height: 11.5px;
margin-top: 0px;
padding-bottom: 5px;
width: 143px;
padding-top: 5px;
}
#menu nav ul li a:hover{
color: #ffffff;
/* text-decoration: underline; */
}
<div id="mainSidebar">
<div id="menu">
<nav>
<ul>

<li>
<a href="#">SHOP</a>
<ul>
<li><a href="#">T-SHIRT</a></li>
<li><a href="#">KNIT</a></li>
<li><a href="#">SHIRT</a></li>
<li><a href="#">PANTS</a></li>
<li><a href="#">ACCESSORY</a></li>
</ul>
</li>
<li><a href="#">ABOUT</a></li>
<li><a href="#">CONTACT</a></li>
<li><a href="#">LEGAL</a></li>
</ul>
</nav>
</div>
</div>

如果你想要一个只有点击的解决方案,那么从 CSS 中删除它:

#menu nav > ul > li:hover > ul {
display: block;
}

并添加 javascript 代码(需要 jQuery):

$('#menu nav > ul > li > a').on('click', function() {
$(this).siblings('ul').toggle();
});

关于javascript - 带下拉菜单的侧边菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33880680/

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