CSS-自适应导航栏(flex | grid)

目标:实现左右各有按钮,中间是内容,自适应显示中间的内容导航栏,即 根据中间的宽度大小显示内容。

自适应导航栏

总结:推荐 flex布局 / grid布局

flex布局: 两侧 flex:1; ----->中间自适应

grid布局:1fr ---->代码为 grid-template-columns: 1fr auto 1fr;

主要参考文章:CSS 实现自适应导航栏


法一:(flex方法)

父盒子设置弹性布局 display: flex;

中间的盒子为 flex:1 ,再设置文本居中

问题:看着像居中,一旦右边宽度差异很大,就不居中了。

 左右侧有按钮,中间部分自适应居中。

flex:1; 让子元素平均分配剩余空间

3个子元素都设置 flex: 1; ,就会平分3等分。

法二:绝对定位

子元素 绝对定位position: absolute; left: 0;right: 0; text-align: center;),可实现整体居中

问题:文本过长,则左右功能区会发生重叠。

法三:flex布局(推荐)

 flex布局实现:若 仅设置两边的 flex:1;,中间宽度不设置,那么中间的宽度会自适应内容宽度。 --->两边宽度相等,中间居中。

法四: grid布局:1fr(推荐)

display: grid;

grid-template-columns: 1fr auto 1fr;

grid中的 1fr,类似于 flex 中的 flex:1;

 


参考:

css导航自适应div - 老白网络

【web】一个自适应的导航栏前端设计(只含HTML+CSS)-CSDN博客

https://www.cnblogs.com/mllt/p/web-img-text-align-center.html

css自适应头部导航栏 - 老白网络

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Bootstrap是一个流行的前端开发框架,提供了许多用于快速开发网页的工具和组件,其中包括自适应导航栏。 在Bootstrap中,我们可以使用类名"navbar"和"navbar-expand"来创建一个自适应导航栏。首先,我们需要一个导航栏的容器,可以使用"navbar"类来创建。然后,我们可以使用"navbar-expand"类来指定导航栏的展开方式。通常有两种展开方式,分别是"navbar-expand-sm"和"navbar-expand-md"。这些类可以根据不同的屏幕尺寸来展开导航栏。 在导航栏容器中,我们可以添加一个导航栏品牌,通常是网站的logo或标题。可以使用"class='navbar-brand'"来指定品牌的样式。 接下来,我们可以在导航栏中添加菜单项,每个菜单项使用一个<li>元素包裹,可以添加链接和文本内容。菜单项可以使用"class='nav-item'"来指定样式,可以在菜单项中添加下拉菜单或子菜单。 在小屏幕上,导航栏默认是折叠的,可以使用一个按钮(通常是三个水平线)来展开导航栏。可以使用一个<div>元素和类名"navbar-toggler"来创建按钮,同时在导航栏容器中添加一个<button>元素,使用类名"navbar-toggler"和"data-toggle='collapse'"来指定按钮的样式和折叠属性。 最后,在导航栏中添加一个<div>元素,使用类名"collapse navbar-collapse"来指定导航栏折叠时的样式。 总结起来,Bootstrap的自适应导航栏通过使用相应的类名和属性来创建,可以根据不同的屏幕尺寸展开或折叠导航项,提供了更好的用户体验和页面布局。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值