&…">
当前位置:首页 > CSS

css制作横向菜单

2026-01-15 11:35:49CSS

使用 Flexbox 制作横向菜单

Flexbox 是制作横向菜单的现代方法,代码简洁且兼容性好。以下是一个基本实现:

<nav class="horizontal-menu">
  <a href="#">首页</a>
  <a href="#">产品</a>
  <a href="#">服务</a>
  <a href="#">关于</a>
  <a href="#">联系</a>
</nav>
.horizontal-menu {
  display: flex;
  gap: 1rem; /* 项目间距 */
  background-color: #333;
  padding: 0.5rem;
}

.horizontal-menu a {
  color: white;
  text-decoration: none;
  padding: 0.5rem 1rem;
}

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

使用 Inline-Block 的传统方法

对于需要支持老旧浏览器的情况,可以使用 inline-block:

css制作横向菜单

.horizontal-menu {
  font-size: 0; /* 消除inline-block间隙 */
  background-color: #333;
}

.horizontal-menu a {
  display: inline-block;
  font-size: 16px;
  color: white;
  text-decoration: none;
  padding: 0.5rem 1rem;
}

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

响应式横向菜单

添加媒体查询使菜单在小屏幕上自动换行:

css制作横向菜单

.horizontal-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

@media (min-width: 768px) {
  .horizontal-menu {
    flex-wrap: nowrap;
  }
}

带下拉菜单的横向导航

实现二级菜单的横向导航:

<nav class="dropdown-menu">
  <ul>
    <li><a href="#">首页</a></li>
    <li>
      <a href="#">产品</a>
      <ul>
        <li><a href="#">产品A</a></li>
        <li><a href="#">产品B</a></li>
      </ul>
    </li>
  </ul>
</nav>
.dropdown-menu ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.dropdown-menu li {
  position: relative;
}

.dropdown-menu li ul {
  display: none;
  position: absolute;
  flex-direction: column;
}

.dropdown-menu li:hover ul {
  display: flex;
}

固定在顶部的横向菜单

创建始终停留在视窗顶部的菜单:

.fixed-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  display: flex;
  justify-content: space-around;
  background-color: rgba(0,0,0,0.8);
}

body {
  padding-top: 50px; /* 防止内容被菜单遮挡 */
}

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

相关文章

css制作菜单

css制作菜单

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

vue 实现多级菜单

vue 实现多级菜单

Vue 实现多级菜单的方法 递归组件实现 递归组件是处理多级菜单的常见方式,通过组件调用自身实现无限层级嵌套。 <template> <ul> <li v-…

vue实现横向树

vue实现横向树

vue实现横向树的实现方法 横向树结构在Vue中可以通过递归组件和CSS布局来实现。以下是一个完整的实现方案: 基础组件结构 创建一个递归组件来渲染树形结构。组件需要处理节点的展开/折叠状态和横向布…

vue  实现多级菜单

vue 实现多级菜单

实现多级菜单的基本思路 在Vue中实现多级菜单通常需要递归组件或动态渲染嵌套数据结构。核心是通过组件递归调用自身,或利用v-for遍历嵌套的菜单数据。 递归组件实现方式 定义菜单数据结构 数据格式…

vue实现权限菜单

vue实现权限菜单

Vue实现权限菜单的方法 动态路由配置 通过后端返回的权限菜单数据动态生成路由配置。使用vue-router的addRoutes方法动态添加路由。 // 示例:动态添加路由 const router…

vue实现横向滚动

vue实现横向滚动

vue实现横向滚动 使用CSS的overflow-x属性结合Vue的模板和样式绑定,可以轻松实现横向滚动效果。 方法一:纯CSS实现 <template> <div clas…