&…">
当前位置:首页 > 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; /* 防止内容被菜单遮挡 */
}

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

相关文章

vue 菜单实现

vue 菜单实现

Vue 菜单实现方法 基于路由的动态菜单 在 Vue 项目中,可以利用 Vue Router 实现动态菜单。首先定义路由配置,包含菜单所需的元信息(如标题、图标等)。 const routes =…

vue实现导航菜单

vue实现导航菜单

Vue 实现导航菜单的方法 使用 Vue Router 实现基本导航 在 Vue 项目中安装 vue-router,通过路由配置实现页面跳转。路由配置文件中定义路径和组件映射,导航菜单通过 <r…

vue实现联动菜单

vue实现联动菜单

实现联动菜单的基本思路 在Vue中实现联动菜单的核心在于数据绑定和事件监听。通过v-model绑定下拉菜单的值,利用watch或computed监听变化,动态更新下一级菜单的选项。 基础实现方法 创…

js实现导航菜单

js实现导航菜单

使用HTML和CSS创建基础结构 导航菜单的基础结构通常由HTML的无序列表(<ul>)和列表项(<li>)组成,每个列表项包含一个链接(<a>)。CSS用于样式化…

vue实现菜单权限

vue实现菜单权限

基于路由的动态菜单权限控制 在Vue中实现菜单权限通常需要结合路由配置和用户角色/权限数据。以下是常见的实现方法: 路由配置中添加权限标识 // router.js const routes =…

vue实现横向旋转

vue实现横向旋转

实现横向旋转的基本思路 在Vue中实现横向旋转效果,可以通过CSS的transform属性结合Vue的响应式数据控制旋转状态。核心是利用rotateY()函数实现水平轴旋转。 使用CSS trans…