当前位置:首页 > 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,使它们水平排列。

.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实现横向菜单

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

.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;
  }
}

添加下拉子菜单

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

css制作横向菜单

.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>

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

相关文章

css二级菜单制作

css二级菜单制作

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

php 实现级联菜单

php 实现级联菜单

实现级联菜单的方法 级联菜单(Cascading Dropdown)通常用于根据前一个选择动态加载下一个菜单的选项。以下是使用PHP和JavaScript(Ajax)实现级联菜单的详细方法。 数据库…

js实现菜单导航

js实现菜单导航

实现基础菜单导航结构 使用HTML和CSS创建菜单的基本结构,再通过JavaScript添加交互功能。HTML部分通常使用<ul>和<li>标签构建层级: <nav i…

vue实现悬浮菜单

vue实现悬浮菜单

实现悬浮菜单的基本思路 使用Vue实现悬浮菜单通常需要结合CSS定位和Vue的事件监听。核心是通过v-show或v-if控制菜单显隐,通过鼠标事件触发状态变化。 HTML结构示例 <templ…

vue实现菜单递归

vue实现菜单递归

Vue 实现菜单递归的方法 在 Vue 中实现菜单递归通常需要组件调用自身,适用于多级嵌套的菜单结构。以下是几种常见的实现方式: 使用递归组件 递归组件是 Vue 中实现菜单递归的最直接方法。组件通…

vue  实现多级菜单

vue 实现多级菜单

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