【css】使用float实现水平导航栏

该实例使用float 浮动实现元素浮动在水平方向,从而实现水平导航栏效果。

overflow: hidden:当不给父级元素设置高度的时候,其内部元素浮动后会导致下面的元素顶上去,这是因为子元素浮动后,子元素脱离标准流,不占位,父元素检测不到子元素的大小,从而高度为0。下面的ul要是没有添加该属性时,只显示主页,其他隐藏。

去掉overflow: hidden的效果:高度为零。

去掉overflow: hidden和添加高度的效果:

下面是添加了 overflow: hidden的代码:

xml 复制代码
<style>
ul {
  list-style-type: none;//去掉列表样式
  margin: 0;
  padding: 0;
  overflow: hidden;//这个很重要,玄学,溢出隐藏,没有这个的话,会导致只显示主页,其他隐藏
  background-color: #333;
}

li {
  float: left;//向左浮动
}

li a {
  display: inline-block;//设置行内块
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;//去掉文本装饰
}

li a:hover {
  background-color: #111;//鼠标悬浮显示样式
}

.active {
  background-color: red;//激活类样式
}
</style>
</head>
<body>

<ul>
  <li><a href="#home" class="active">主页</a></li>
  <li><a href="#news">新闻</a></li>
  <li><a href="#contact">联系</a></li>
  <li><a href="#about">关于</a></li>
</ul>

</body>

渲染效果:

相关推荐
Mintopia2 分钟前
架构师的心胸:把分歧装进系统,把人放在方案前
前端·架构
亿元程序员2 分钟前
不是说现在AI很牛吗,怎么连个高光Shader效果都写不好?
前端
孟祥_成都6 分钟前
金三银四,一个面试官连连夸赞的个人网页技术分享
前端·面试·three.js
兆子龙13 分钟前
Vite 插件系统与构建流水线源码解析:从 Rollup 插件到 HMR
前端
代码老中医18 分钟前
Node_modules 比黑洞还重,我们的硬盘到底做错了什么?
前端
兆子龙19 分钟前
Vue 3 响应式系统 Reactivity 源码深度解析:从 ref 到 effect 的完整链路
前端
用户2986985301421 分钟前
告别手动复制:.NET 将网页数据一键导出为 Excel
后端·html·excel
Smoothcloud_润云22 分钟前
GORM 事务管理与 Repository 模式完整指南
前端·数据库·代码规范
兆子龙22 分钟前
Turborepo 与 Monorepo 任务调度源码解析:从 DAG 到增量构建
前端·架构
兆子龙25 分钟前
React 18 并发与 Reconciler 源码解析:Fiber、调度器与可中断渲染
前端