当前位置:首页 > CSS

css 制作横向菜单

2026-01-28 13:06:15CSS

使用 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;
}

对应的 HTML 结构:

<ul class="nav-menu">
  <li><a href="#">首页</a></li>
  <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 让列表项水平排列。

.nav-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  background-color: #333;
  font-size: 0; /* 消除inline-block元素间的间隙 */
}

.nav-menu li {
  display: inline-block;
  font-size: 16px; /* 重置字体大小 */
  padding: 15px 20px;
}

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

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

使用 Grid 布局创建横向菜单

CSS Grid 提供了另一种创建横向菜单的方式,特别适合需要更复杂布局的情况。

.nav-menu {
  display: grid;
  grid-template-columns: repeat(5, auto);
  list-style: none;
  padding: 0;
  margin: 0;
  background-color: #333;
}

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

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

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

响应式横向菜单

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

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

@media (max-width: 600px) {
  .nav-menu {
    flex-direction: column;
  }
}

带下拉菜单的横向导航

如果需要创建带有下拉功能的横向菜单,可以结合 CSS 和少量 JavaScript。

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

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

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

.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

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

对应的 HTML 结构:

<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>
      <a href="#">产品3</a>
    </div>
  </li>
  <li><a href="#">服务</a></li>
</ul>

每种方法都有其适用场景,Flexbox 是最简单直接的方案,Grid 适合更复杂的布局需求,而 inline-block 则提供了向后兼容的选择。响应式设计确保菜单在不同设备上都能良好显示。

css 制作横向菜单

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

相关文章

css二级菜单制作

css二级菜单制作

使用纯CSS实现二级菜单 通过嵌套HTML结构和CSS选择器实现二级菜单的显示与隐藏效果。以下是一个基础实现方案: HTML结构: <ul class="menu"> <li…

纯css制作tab菜单

纯css制作tab菜单

纯CSS制作Tab菜单的方法 使用radio input控制切换 通过<input type="radio">和<label>元素配合实现无JavaScript的Tab切换效果…

vue实现菜单调用

vue实现菜单调用

Vue 实现动态菜单调用的方法 使用路由配置生成菜单 在 Vue 项目中,可以通过路由配置自动生成菜单结构。路由配置通常包含 path、name、meta 等信息,这些信息可用于构建菜单项。 //…

css菜单制作

css菜单制作

CSS 菜单制作方法 水平导航菜单 使用 display: inline-block 或 flexbox 可以轻松创建水平导航菜单。以下是一个基本示例: <nav> <ul c…

css制作菜单

css制作菜单

CSS 制作菜单的方法 使用 CSS 可以制作多种风格的菜单,包括水平菜单、垂直菜单、下拉菜单等。以下是几种常见的实现方式。 水平菜单 水平菜单通常用于导航栏,可以通过 display: inlin…

css div 制作导航菜单

css div 制作导航菜单

使用 CSS 和 Div 制作导航菜单 导航菜单是网站的重要组成部分,以下是通过 CSS 和 div 元素制作导航菜单的方法。 基本 HTML 结构 创建一个简单的 div 结构作为导航菜单的基础…