Html5实现下拉菜单

yumo6669小时前技术文章2

话不多说,直奔主题

<!--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”, ### 为什么?该如何完善? ###    
			 */

最终效果图:

相关文章

《响应式开发》16个最佳响应式HTML5框架分享

HTML5框架可以快速构建响应式网站,它们帮助程序员减少编码工作,减少冗余的代码。如今有很多免费的HTML5框架可供使用,由于它们有着响应式设计、跨浏览器兼容、相对轻量级等特点,这些框架在开发中都十分...

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

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

HTML5教程从入门到精通,随堂笔记(一)HTML5框架结构

HTML5从入门到精通,兄弟连京修随堂笔记(一)HTML的框架结构,每日都有新内容,订阅走一波一个浏览器窗体可以通过几个页面的组合来显示。我们可以使用框架来完成(frames)这项工作。(框架可以把H...

HTML5入门

什么是HTML5官方概念:HTML5草案的前身名为Web Applications 1.0,是作为下一代互联网标准,用于取代html4与xhtml1 的新一代标准版本,所以叫html5。它增加了新的标...

HTML5 header标签的定义与规定

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