如何创建:子导航
学习如何使用 CSS 创建子导航菜单。
子导航
创建子导航
第一步 - 添加 HTML:
<!-- 加载 Font Awesome 图标 --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <!-- 导航菜单 --> <div class="navbar"> <a href="#home">Home</a> <div class="subnav"> <button class="subnavbtn">About <i class="fa fa-caret-down"></i></button> <div class="subnav-content"> <a href="#company">Company</a> <a href="#team">Team</a> <a href="#careers">Careers</a> </div> </div> <div class="subnav"> <button class="subnavbtn">Services <i class="fa fa-caret-down"></i></button> <div class="subnav-content"> <a href="#bring">Bring</a> <a href="#deliver">Deliver</a> <a href="#package">Package</a> <a href="#express">Express</a> </div> </div> <div class="subnav"> <button class="subnavbtn">Partners <i class="fa fa-caret-down"></i></button> <div class="subnav-content"> <a href="#link1">Link 1</a> <a href="#link2">Link 2</a> <a href="#link3">Link 3</a> <a href="#link4">Link 4</a> </div> </div> <a href="#contact">Contact</a> </div>
例子解释:
可以使用任何元素来打开子导航/下拉菜单,例如 <button>、<a> 或 <p> 元素。
使用容器元素(如 <div>)来创建子导航菜单,并在其中添加子导航链接。
使用 <div> 元素将按钮和 <div> 包裹起来,以便使用 CSS 正确定位子导航菜单。
第二步 - 添加 CSS:
/* 导航菜单 */ .navbar { overflow: hidden; background-color: #333; } /* 导航链接 */ .navbar a { float: left; font-size: 16px; color: white; text-align: center; padding: 14px 16px; text-decoration: none; } /* 子导航菜单 */ .subnav { float: left; overflow: hidden; } /* 子导航按钮 */ .subnav .subnavbtn { font-size: 16px; border: none; outline: none; color: white; padding: 14px 16px; background-color: inherit; font-family: inherit; margin: 0; } /* 鼠标悬停时为导航链接添加红色背景色 */ .navbar a:hover, .subnav:hover .subnavbtn { background-color: red; } /* 设置子导航内容的样式 - 使用绝对定位 */ .subnav-content { display: none; position: absolute; left: 0; background-color: red; width: 100%; z-index: 1; } /* 设置子导航链接的样式 */ .subnav-content a { float: left; color: white; text-decoration: none; } /* 鼠标悬停时添加灰色背景色 */ .subnav-content a:hover { background-color: #eee; color: black; } /* 当您将鼠标悬停在子导航容器上时,打开子导航内容 */ .subnav:hover .subnav-content { display: block; }