当前位置:首页 > CSS

css制作菜单

2026-02-26 20:24:36CSS

水平导航菜单

使用display: inline-blockflexbox创建水平菜单。设置背景色、间距和悬停效果增强交互性。

<style>
.nav-menu {
  background-color: #333;
  padding: 0;
  list-style: none;
  display: flex;
}
.nav-menu li {
  padding: 15px 20px;
}
.nav-menu a {
  color: white;
  text-decoration: none;
}
.nav-menu li:hover {
  background-color: #111;
}
</style>

<ul class="nav-menu">
  <li><a href="#">首页</a></li>
  <li><a href="#">产品</a></li>
  <li><a href="#">服务</a></li>
</ul>

垂直下拉菜单

通过:hover伪类触发下拉效果。绝对定位实现二级菜单的层叠布局,transition添加平滑动画。

<style>
.dropdown {
  position: relative;
  display: inline-block;
}
.dropbtn {
  background-color: #4CAF50;
  padding: 12px;
  border: none;
  cursor: pointer;
}
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
}
.dropdown:hover .dropdown-content {
  display: block;
}
</style>

<div class="dropdown">
  <button class="dropbtn">下拉菜单</button>
  <div class="dropdown-content">
    <a href="#">选项1</a>
    <a href="#">选项2</a>
  </div>
</div>

响应式汉堡菜单

媒体查询检测屏幕宽度,transform属性创建动画图标。JavaScript控制移动端的菜单展开/折叠。

<style>
.topnav {
  overflow: hidden;
  background-color: #333;
}
.topnav a {
  float: left;
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}
.icon {
  display: none;
}
@media screen and (max-width: 600px) {
  .topnav a:not(:first-child) {display: none;}
  .topnav a.icon {
    float: right;
    display: block;
  }
  .topnav.responsive {position: relative;}
  .topnav.responsive .icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
}
</style>

<div class="topnav" id="myTopnav">
  <a href="#">首页</a>
  <a href="#">产品</a>
  <a href="javascript:void(0);" class="icon" onclick="toggleMenu()">☰</a>
</div>

<script>
function toggleMenu() {
  const nav = document.getElementById("myTopnav");
  nav.classList.toggle("responsive");
}
</script>

圆角标签式菜单

border-radius实现圆角外观,box-shadow添加深度效果。活动标签使用不同背景色突出显示。

<style>
.tab-menu {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.tab-menu a {
  float: left;
  padding: 12px 20px;
  background: #f1f1f1;
  color: #333;
  text-decoration: none;
}
.tab-menu a.active {
  background: #4CAF50;
  color: white;
}
</style>

<div class="tab-menu">
  <a class="active" href="#">标签1</a>
  <a href="#">标签2</a>
  <a href="#">标签3</a>
</div>

粘性固定菜单

position: sticky保持菜单在滚动时可见。z-index确保菜单始终位于其他内容上方。

css制作菜单

<style>
.sticky-menu {
  position: sticky;
  top: 0;
  z-index: 100;
  background: white;
  padding: 10px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
</style>

<div class="sticky-menu">
  <a href="#">首页</a> | 
  <a href="#">关于</a> | 
  <a href="#">联系</a>
</div>

标签: 菜单css
分享给朋友:

相关文章

css制作表格

css制作表格

使用HTML和CSS创建表格 HTML中的<table>元素用于创建表格,结合CSS可以调整样式。以下是一个基础示例: <table> <tr> &l…

css立体相册制作

css立体相册制作

制作CSS立体相册 使用CSS3的3D变换和过渡效果可以创建一个立体相册。以下是一个基本的实现方法。 HTML结构 <div class="photo-album"> <di…

css雪碧图制作

css雪碧图制作

CSS雪碧图制作方法 CSS雪碧图(CSS Sprite)是一种将多个小图标或背景图像合并到一张大图中的技术,通过减少HTTP请求提升网页性能。以下是制作和使用雪碧图的详细方法: 准备图像素材 收集…

css怎么制作表单

css怎么制作表单

基础表单结构 使用HTML创建表单元素,搭配CSS进行样式设计。表单通常包含<form>标签及输入控件(如<input>、<textarea>、<select…

旋转相册制作css

旋转相册制作css

旋转相册制作CSS 旋转相册通常通过CSS动画和3D变换实现,以下是一个完整的实现方法: 基础HTML结构 <div class="photo-album"> <div c…

css制作滑动页面

css制作滑动页面

使用CSS实现滑动页面 通过CSS可以实现多种滑动页面效果,包括横向滑动、纵向滑动以及视差滚动等。以下是几种常见的实现方法: 横向滑动效果 横向滑动通常用于展示一组卡片或图片,可以通过CSS的ove…