当前位置:首页 > CSS

css制作横向菜单

2026-01-08 17:41:00CSS

使用浮动(Float)实现横向菜单

将菜单项的 display 属性设置为 float: left,使列表项横向排列。清除浮动避免影响后续布局。

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

ul.horizontal-menu li {
  float: left;
}

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

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

使用内联块(Inline-Block)实现横向菜单

将列表项的 display 属性设置为 inline-block,使其横向排列。注意处理元素间的空白间隙。

ul.horizontal-menu {
  list-style-type: none;
  margin: 0;
  padding: 0;
  background-color: #333;
  font-size: 0; /* 消除空白间隙 */
}

ul.horizontal-menu li {
  display: inline-block;
  font-size: 16px; /* 恢复字体大小 */
}

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

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

使用 Flexbox 实现横向菜单

使用 Flexbox 布局可以更灵活地控制菜单项的排列和对齐方式。

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

ul.horizontal-menu li {
  flex: 1; /* 等分宽度 */
}

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

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

使用 CSS Grid 实现横向菜单

CSS Grid 提供了更强大的网格布局能力,适合复杂菜单结构。

ul.horizontal-menu {
  list-style-type: none;
  margin: 0;
  padding: 0;
  background-color: #333;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}

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

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

响应式横向菜单

添加媒体查询使菜单在不同屏幕尺寸下自适应显示。

ul.horizontal-menu {
  list-style-type: none;
  margin: 0;
  padding: 0;
  background-color: #333;
  display: flex;
  flex-wrap: wrap;
}

ul.horizontal-menu li {
  flex: 1;
  min-width: 120px;
}

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

@media screen and (max-width: 600px) {
  ul.horizontal-menu li {
    flex: 100%;
  }
}

每种方法各有优势,浮动方法兼容性最好但较为老旧;Flexbox 和 Grid 是现代布局的首选方案,提供了更强大的控制能力;响应式设计确保菜单在不同设备上都能良好显示。

css制作横向菜单

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

相关文章

vue 实现菜单

vue 实现菜单

Vue 实现菜单的方法 使用 Vue 实现菜单可以通过多种方式,以下是几种常见的方法: 使用 Vue Router 实现动态路由菜单 通过 Vue Router 可以动态生成菜单,根据路由配置自动…

vue实现菜单定位

vue实现菜单定位

实现菜单定位的方法 在Vue中实现菜单定位功能,可以通过监听滚动事件或使用Intersection Observer API来判断当前显示的菜单项,并高亮对应的导航链接。以下是几种常见的实现方式:…

vue实现左右菜单联动实现

vue实现左右菜单联动实现

Vue 实现左右菜单联动 使用事件总线通信 在 Vue 中可以通过事件总线实现左右菜单的通信。创建一个中央事件总线实例,让左右菜单通过事件监听和触发实现联动。 // eventBus.js impo…

vue实现左右菜单

vue实现左右菜单

实现左右菜单的基本思路 使用Vue实现左右菜单通常需要两个主要组件:左侧的导航菜单和右侧的内容区域。左侧菜单用于导航,右侧区域根据菜单选择动态展示内容。 创建左侧菜单组件 左侧菜单通常是一个列表,…

css菜单制作

css菜单制作

基础水平菜单制作 使用无序列表<ul>和<li>标签构建结构,CSS设置横向排列: <ul class="horizontal-menu"> <li&g…

css制作菜单

css制作菜单

水平菜单制作 使用display: inline-block或flexbox布局创建水平菜单。设置list-style: none移除默认列表样式,添加padding和margin调整间距。 &l…