Html5实现下拉菜单

yumo6664个月前 (07-06)技术文章34

话不多说,直奔主题

<!--html代码-->
<div>
			<ul>
				<li><a href="#home" class="active">主页</a></li>
				<li><a href="#news">新闻</a></li>
				<li>
					<div class="dropdown">
            <a href="#" class="dropbtn">下拉菜单</a>
              <div class="dropdown-content">
                <a href="#">链接 1</a> 
                <a href="#">链接 2</a> 
                <a href="#">链接 3</a>
              </div>
					</div>
				</li>
				<li><a href="#about">关于</a></li>
			</ul>
			<h3>导航栏上的下拉菜单</h3>
			<p>鼠标移动到 "下拉菜单" 链接先显示下拉菜单。</p>
		</div>
/*css代码*/
ul {
			     list-style-type: none;
			     margin: 0;
			     padding: 0;
			     background-color: #999;
			     overflow: hidden;
			     /*        注意: overflow:hidden 添加到 ul 元素,以防止 li 元素列表的外出(当li{float:left}时)。         来源链接:https://www.runoob.com/try/try.php?filename=trycss_navbar_horizontal_float&basepath=0        */
			 }
			
			 li {
			     float: left;
			 }
			
			 li a {
			     color: white;
			     padding: 14px 16px;
			     display: inline-block;
			     text-decoration: none;
			 }
			
			 li>a.active {
			     background-color: green;
			 }
			
			 li>a:hover:not(a.active),
			 .dropbtn:hover {
			     background-color: #555;
			 }
			
			 .dropdown-content {
			     display: none;
			     position: absolute;
			     /* 默认相对于<html>进行绝对定位 */
			     background-color: #f9f9f9;
			     min-width: 100px;
			     box-shadow: 0 8px 16px 0 rgba(0, 0, 0, .2);
			 }
			
			 .dropdown-content a {
			     color: black;
			     display: block;
			     /* 因为<a>标签不是块元素,min-width:100px不会生效 */
			 }
			
			 .dropdown-content a:hover {
			     background-color: #f1f1f1;
			     color: deepskyblue;
			 }
			
			 .dropdown:hover .dropdown-content {
			     display: block;
           opacity: 0.9;/*下拉菜单半透明效果*/
			 }
			
			 /* 中间的空格表示,鼠标悬念在.dropdown上时,dropdown的子元素.dropdown-content变为块元素 */
			 /* ### 待完善 ###   
			    因为.dropdown只用过一次,觉得可以删除<div class="dropdown"></div>来减少代码量,尝试  将.dropdown:hover .dropdown-content {display: block;} 修改为.dropbtn:hover+.dropdown-content {display: block;} 并删除<div class="dropdown"></div>后,鼠标悬停在“下拉菜单”上,会显示下拉菜单, 但无法选中菜单中的“链接 x”, ### 为什么?该如何完善? ###    
			 */

最终效果图:

相关文章

推荐15个最好的HTML5移动模板 (一)

当你创造了一个应用程序,现在你想展示给世界,那么你可以创建一个网站或登陆页面。因此,我们可以利用HTML5模板,这样就可以轻松地在互联网上公布。这些模板可以快速的提高您的业务。当你设计一个登陆页面的移...

HTML5 header标签的定义与规定

提示:点击上方"蓝色字体"↑ 可以订阅噢!<header>标签定义文档的页面组合,通常是一些引导和导航信息(DOM接口、可设置属性)。<header>标签定义文档的页眉(介绍信...

Web开发的十佳HTML5响应式框架

HTML5框架是一类有助于快速轻松创建响应式网站的程序包。这些HTML5框架有着能减轻编程任务和重复代码负担的神奇功能。关于HTML5的框架种类繁多,并且很瘦欢迎,因为它能允许开发人员花费更少的时间和...

干货|嗨创免费建站扒开HTML5技术对网站SEO的影响

互联网是一个转变的世界, 为了适应时代的变迁,在W3C也纳入自己的变化,出格是在互联网用得上,超文本标识表记标帜说话。新版本的HTML此刻是在第5版,从简单起头的HTML演变为收集和这种语言的尺度语言...

vscode 快速生成 html 代码技巧

快速生成 Html5 骨架在 Html 文件中输入 html:5 按下回车键,可快速生成 HTML5 页面模板:<!DOCTYPE html> <html lang="en&...