我需要建立一个包含5个选项的菜单,单击某个菜单后,将出现一个新的子菜单。我完全不知道该怎么做。
/**Navigation */
nav {
border: 1px solid red;
float: left;
margin-right: 35px;
min-height: 280px;
}
nav li {
text-decoration: none;
font-weight: normal;
color: red;
list-style: none;
}
/**Content */
#section {
background-color: ;
border: 1px solid;
font: normal 12px Helvetica, Arial, sans-serif;
margin-left: 180px;
}
.clearfix:before,
.clearfix:after {
content: " ";
display: table;
}
.clearfix:after {
clear: both;
}
<div class="clearfix"></div>
<nav>
<ul>
<li><a href="index.html" accesskey="1"> Home </a> </li>
<li><a href="Portfolio.html" accesskey="2"> Portfolio </a> </li>
<ul>
<li><a href="Commercial.html">Commercial</a> </li>
<li><a href="Residential.html">Residential</a> </li>
<li><a href="heritage.html">Heritage</a> </li>
<li><a href="Rennovations.html">Rennovations</a> </li>
</ul>
<li><a href="services.html" accesskey="3"> Services </a> </li>
<li><a href="aboutus.html" accesskey="4"> About Us </a> </li>
<li><a href="contactus.html" accesskey="5"> Contact Us </a> </li>
</ul>
</nav>
CSS没有点击处理程序。因此,不可能使用标准CSS。您可以使用一种称为“复选框hack”的方法,但是我谦虚地认为,它有点笨拙,并且会像您的用例要求那样在导航菜单中使用,这很尴尬。因此,我建议使用jQuery或Javascript。这是使用jQuery的一种非常简单的解决方案。
基本上,我们从一开始就隐藏了子导航,display: none;
然后使用jQuery,当单击“ .parent”时,将类“
.visible”切换到显示子导航元素(嵌套的UL)display: block;
。再次单击时,它会在删除类时消失。
请注意,要使此方法起作用,每个嵌套<UL>
的“ sub-nav”都 必须 具有.sub-nav
该类,并且其父元素(the <LI>
)
必须具有.parent
该类。另外,由于它使用jQuery,因此您需要将jQuery库连接到您的站点。您可以自己托管它并像往常一样链接它,也可以从Google的图书馆服务(推荐)中链接它。
$(document).ready(function() {
$('.parent').click(function() {
$('.sub-nav').toggleClass('visible');
});
});
#nav ul.sub-nav {
display: none;
}
#nav ul.visible {
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="nav">
<li>Home</li>
<li class="parent">About
<ul class="sub-nav">
<li>Johnny</li>
<li>Julie</li>
<li>Jamie</li>
</ul>
</li>
<li>Contact</li>
</ul>
问题内容: 我正在尝试制作一个简单的CSS下拉菜单,当您将鼠标悬停在链接上时,将显示子菜单。当您将鼠标悬停在li上时,我已经设法实现了这一点,但无法弄清楚如何使用链接来实现。 我之所以尝试使用链接而不是li来执行此操作,是因为我的菜单宽度为100%,并且li所占的面积比链接大,因此,如果将鼠标悬停在该区域上,则不显示该子菜单不想。 我的CSS如下: 问题答案: 如果可能的话,我会避免使用JS。这不
.dropbtn { background-color: #4CAF50; color: white; padding: 16px; font-size: 16px; border: none; cursor: pointer; } .dropdown { position: relative; display: inline-block; } .dropdown:hover .dropbtn {
问题内容: 以前,我没有对多级纯CSS下拉菜单进行过很多工作,但是现在我正在寻找最干净的方法。当我搜索了这个网上我发现了很多那名4-5岁的解决方案,我不知道是否有更好的方法来实现这一目标,而不是做一些这样的。 问题答案: .third-level-menu 我还整理了一个现场演示,可在此处使用
问题内容: 我试图做一个简单的CSS下拉菜单。当您将鼠标悬停在链接上时,我无法实现下拉子菜单。以下是我的HTML和CSS规则,谢谢。 问题答案: 尝试这个: 问题是您的菜单ul是可见的(始终),但是由于this规则的选择器,所以li里面的li是(始终)不可见。 请记住,visible:hidden隐藏元素,但仍在DOM中占用空间,而display:none隐藏元素并将其从页面元素流中移除 另外,您
本文向大家介绍纯css下拉菜单 无需js,包括了纯css下拉菜单 无需js的使用技巧和注意事项,需要的朋友参考一下 再来个今天某人说过的例子:纯css下拉菜单: 效果图 这个的实现很简单,主要是:hover和过渡属性transition的使用。 代码: 因为ul是个伸缩对象,所以要让它脱离文档流,不是在实用时会影响到布局,给它一个绝对定位即可。 以上就是本文的全部内容,希望对大家的学习有所帮助,也
我在Confluence上运行的HTML/CSS主题上实现了以下菜单。 默认情况下,我正在运行的主题提供了激活所有菜单项的下拉菜单的选项。但是,我希望只为其中一个菜单项显示下拉菜单。 该主题没有提供切换特定菜单项下拉列表的选项,这就是为什么我不得不求助于自定义CSS。 与发行说明菜单项对应的HTML如下-- 此外,添加以下自定义CSS将删除所有菜单项的下拉菜单。 我希望CSS有条件地不显示RELE