响应式导航栏示例代码:HTML 和 CSS 实现
以下是一个响应式导航栏的示例代码:
HTML 代码:
<nav class='navbar'>
<a class='navbar-logo' href='#'>Logo</a>
<ul class='navbar-menu'>
<li><a href='#'>Home</a></li>
<li><a href='#'>About</a></li>
<li><a href='#'>Services</a></li>
<li><a href='#'>Contact</a></li>
</ul>
<div class='navbar-toggle'>
<span class='navbar-toggle-icon'></span>
</div>
</nav>
CSS 代码:
/* Navbar Styles */
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px;
background-color: #333;
}
.navbar-logo {
color: #fff;
font-size: 24px;
font-weight: bold;
text-decoration: none;
}
.navbar-menu {
display: flex;
list-style: none;
margin: 0;
padding: 0;
}
.navbar-menu li {
margin-right: 20px;
}
.navbar-menu li:last-child {
margin-right: 0;
}
.navbar-menu li a {
color: #fff;
font-size: 18px;
text-decoration: none;
}
.navbar-toggle {
display: none;
cursor: pointer;
}
.navbar-toggle-icon {
display: block;
width: 20px;
height: 2px;
background-color: #fff;
border-radius: 2px;
margin: 4px 0;
}
/* Responsive Styles */
@media (max-width: 768px) {
.navbar-menu {
display: none;
}
.navbar-toggle {
display: block;
}
.navbar-toggle.active .navbar-toggle-icon:nth-child(1) {
transform: rotate(45deg) translate(5px, 5px);
}
.navbar-toggle.active .navbar-toggle-icon:nth-child(2) {
opacity: 0;
}
.navbar-toggle.active .navbar-toggle-icon:nth-child(3) {
transform: rotate(-45deg) translate(5px, -5px);
}
.navbar-toggle.active + .navbar-menu {
display: block;
position: absolute;
top: 60px;
left: 0;
width: 100%;
background-color: #333;
padding: 20px;
}
.navbar-menu li {
display: block;
margin: 10px 0;
}
}
解释:
- 首先定义了一个 'navbar' 类,用于包含导航栏的所有内容。
- 'navbar-logo' 类用于设置导航栏的标志或 Logo。
- 'navbar-menu' 类用于包含导航栏的菜单项。
- 'navbar-toggle' 类用于定义响应式导航栏的切换按钮。
- 在响应式样式中,当屏幕宽度小于 768px 时,将菜单项隐藏,并显示切换按钮。
- 点击切换按钮时,使用 'active' 类来控制切换按钮和菜单项的状态。通过旋转和位移来创建 “X” 形状的切换按钮,并在菜单项下方显示菜单。
原文地址: https://www.cveoy.top/t/topic/mrHv 著作权归作者所有。请勿转载和采集!