当前位置:首页 > CSS

css制作菜单

2026-01-08 11:48:58CSS

水平菜单制作

使用display: inline-blockflexbox布局创建水平菜单。设置list-style: none移除默认列表样式,添加paddingmargin调整间距。

<ul class="horizontal-menu">
  <li><a href="#">首页</a></li>
  <li><a href="#">产品</a></li>
  <li><a href="#">服务</a></li>
</ul>
.horizontal-menu {
  display: flex;
  list-style: none;
  background-color: #333;
  padding: 0;
}

.horizontal-menu li a {
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

.horizontal-menu li a:hover {
  background-color: #111;
}

垂直菜单制作

通过display: block实现垂直布局。使用width控制菜单宽度,border添加分隔线增强视觉效果。

<ul class="vertical-menu">
  <li><a href="#">首页</a></li>
  <li><a href="#">产品</a></li>
  <li><a href="#">联系我们</a></li>
</ul>
.vertical-menu {
  width: 200px;
  list-style: none;
  background-color: #f1f1f1;
  padding: 0;
}

.vertical-menu li a {
  display: block;
  color: black;
  padding: 12px;
  text-decoration: none;
  border-bottom: 1px solid #ddd;
}

.vertical-menu li a:hover {
  background-color: #555;
  color: white;
}

下拉菜单实现

结合:hover伪类和绝对定位创建下拉效果。父菜单项设置position: relative,子菜单使用position: absolute定位。

<ul class="dropdown-menu">
  <li><a href="#">主菜单</a>
    <ul class="dropdown-content">
      <li><a href="#">子项1</a></li>
      <li><a href="#">子项2</a></li>
    </ul>
  </li>
</ul>
.dropdown-menu {
  position: relative;
  display: inline-block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px rgba(0,0,0,0.2);
}

.dropdown-menu:hover .dropdown-content {
  display: block;
}

响应式菜单设计

使用媒体查询实现移动端适配。默认隐藏菜单项,通过JavaScript或CSS复选框技术切换显示状态。

<nav class="responsive-menu">
  <input type="checkbox" id="menu-toggle">
  <label for="menu-toggle">☰ 菜单</label>
  <ul>
    <li><a href="#">首页</a></li>
    <li><a href="#">关于我们</a></li>
  </ul>
</nav>
.responsive-menu ul {
  display: none;
  list-style: none;
}

#menu-toggle:checked ~ ul {
  display: block;
}

@media (min-width: 768px) {
  .responsive-menu label {
    display: none;
  }
  .responsive-menu ul {
    display: flex;
  }
}

菜单动画效果

添加transition属性实现平滑悬停效果。使用transform创建缩放或位移动画,提升交互体验。

.animated-menu li a {
  transition: all 0.3s ease;
}

.animated-menu li a:hover {
  transform: scale(1.1);
  background-color: #4CAF50;
}

css制作菜单

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

相关文章

vue无限菜单怎么实现

vue无限菜单怎么实现

实现 Vue 无限菜单的方法 递归组件实现嵌套菜单 使用 Vue 的递归组件特性可以轻松实现无限级嵌套菜单。通过组件调用自身的方式处理嵌套数据。 <template> <ul…

vue实现菜单定位

vue实现菜单定位

实现菜单定位的方法 在Vue中实现菜单定位功能,可以通过监听滚动事件或使用Intersection Observer API来判断当前显示的菜单项,并高亮对应的导航链接。以下是几种常见的实现方式:…

vue实现左右菜单

vue实现左右菜单

实现左右菜单的基本思路 使用Vue实现左右菜单通常需要两个主要组件:左侧的导航菜单和右侧的内容区域。左侧菜单用于导航,右侧区域根据菜单选择动态展示内容。 创建左侧菜单组件 左侧菜单通常是一个列表,…

css制作

css制作

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。其基本语法由选择器和声明块组成。选择器指定要样式化的HTML元素,声明块包含一个或多个属性-值对,用花括号 {} 包裹。 select…

css制作三角形

css制作三角形

使用 border 属性创建三角形 通过设置元素的 border 属性可以实现三角形效果。原理是利用边框的交界处形成的斜边。 .triangle { width: 0; height: 0…

css如何制作圆

css如何制作圆

使用 border-radius 属性制作圆 通过设置 border-radius 属性为元素添加圆角效果。当 border-radius 的值等于元素宽度和高度的一半时,元素会呈现圆形。 .cir…