当前位置:首页 > 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,使其横向排列。注意处理元素间的空白间隙。

css制作横向菜单

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 布局可以更灵活地控制菜单项的排列和对齐方式。

css制作横向菜单

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 是现代布局的首选方案,提供了更强大的控制能力;响应式设计确保菜单在不同设备上都能良好显示。

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

相关文章

vue实现左右菜单联动实现

vue实现左右菜单联动实现

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

css菜单制作

css菜单制作

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

css div 制作导航菜单

css div 制作导航菜单

基本导航菜单结构 使用HTML创建一个简单的导航菜单结构,通常使用<ul>和li>列表实现。每个菜单项用<a>标签包裹以实现链接功能。 <div class="…

纯css制作tab菜单

纯css制作tab菜单

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

vue无限菜单怎么实现

vue无限菜单怎么实现

Vue 无限级菜单的实现 实现无限级菜单通常需要递归组件和动态数据结构的结合。以下是具体实现方法: 数据结构设计 采用嵌套结构表示菜单层级,每个菜单项包含 children 属性存储子菜单:…

vue 菜单实现

vue 菜单实现

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