当前位置:首页 > CSS

css制作横向菜单

2026-03-31 20:49:13CSS

使用Flexbox布局制作横向菜单

Flexbox是现代CSS布局中实现横向菜单的推荐方式。通过设置display: flex属性,可以轻松控制菜单项的水平排列。

.nav-menu {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  background-color: #333;
}

.nav-menu li {
  padding: 15px 20px;
}

.nav-menu li a {
  color: white;
  text-decoration: none;
}

.nav-menu li:hover {
  background-color: #111;
}
<ul class="nav-menu">
  <li><a href="#">首页</a></li>
  <li><a href="#">产品</a></li>
  <li><a href="#">服务</a></li>
  <li><a href="#">关于我们</a></li>
</ul>

使用Inline-Block实现横向菜单

传统方法是将列表项设置为display: inline-block,使它们水平排列。

css制作横向菜单

.nav-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  background-color: #f1f1f1;
}

.nav-menu li {
  display: inline-block;
}

.nav-menu li a {
  display: block;
  padding: 10px 20px;
  text-decoration: none;
  color: #333;
}

.nav-menu li a:hover {
  background-color: #ddd;
}

使用Float实现横向菜单

浮动方法虽然较旧,但在某些情况下仍可使用。

css制作横向菜单

.nav-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background-color: #333;
}

.nav-menu li {
  float: left;
}

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

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

响应式横向菜单

为适应不同屏幕尺寸,可以添加媒体查询使菜单在小屏幕上变为垂直排列。

@media screen and (max-width: 600px) {
  .nav-menu li {
    float: none;
    display: block;
    text-align: left;
  }
}

添加下拉子菜单

横向菜单可以扩展为包含下拉功能。

.dropdown {
  position: relative;
  display: inline-block;
}

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

.dropdown:hover .dropdown-content {
  display: block;
}
<ul class="nav-menu">
  <li><a href="#">首页</a></li>
  <li class="dropdown">
    <a href="#">产品</a>
    <div class="dropdown-content">
      <a href="#">产品1</a>
      <a href="#">产品2</a>
    </div>
  </li>
</ul>

标签: 横向菜单
分享给朋友:

相关文章

vue实现动态菜单

vue实现动态菜单

Vue 动态菜单实现方法 基于路由配置的动态菜单 在 Vue 项目中,可以利用路由配置自动生成菜单。路由配置通常包含 path、name、meta 等字段,其中 meta 可以存储菜单标题、图标等信息…

vue实现菜单路由

vue实现菜单路由

Vue 实现菜单路由的方法 在 Vue 中实现菜单路由通常需要结合 Vue Router 和动态路由配置。以下是几种常见的方法: 使用 Vue Router 配置路由 安装 Vue Router:…

vue实现伸缩菜单

vue实现伸缩菜单

Vue 实现伸缩菜单的方法 使用 v-show 或 v-if 控制显示 通过 Vue 的指令 v-show 或 v-if 可以轻松实现菜单的伸缩功能。v-show 通过 CSS 的 display 属…

vue实现设置菜单

vue实现设置菜单

Vue 实现设置菜单的方法 在 Vue 中实现设置菜单可以通过多种方式完成,以下是一些常见的方法: 使用组件化结构 创建独立的设置菜单组件,便于复用和维护。组件可以包含菜单项、图标和交互逻辑。 &…

侧边菜单vue实现

侧边菜单vue实现

侧边菜单的 Vue 实现方法 在 Vue 中实现侧边菜单可以通过多种方式完成,以下是几种常见的实现方法。 使用 Vue Router 和动态路由 通过 Vue Router 实现侧边菜单,结合动态路…

vue实现淘宝菜单

vue实现淘宝菜单

实现淘宝菜单的 Vue 方案 淘宝菜单通常包含多级分类、侧边栏导航、动态加载等功能。以下是基于 Vue 的实现方案: 数据结构设计 使用嵌套数组表示多级菜单: menuData: [ {…