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自适应头部导航栏 - 老白网络

相关推荐

  1. css折叠的导航

    2023-12-06 23:18:04       11 阅读
  2. Uniapp定义导航

    2023-12-06 23:18:04       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-06 23:18:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-06 23:18:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-06 23:18:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-06 23:18:04       18 阅读

热门阅读

  1. 基于深度学习的热红外与可见光图像融合

    2023-12-06 23:18:04       33 阅读
  2. git常用命令

    2023-12-06 23:18:04       43 阅读
  3. JVM

    JVM

    2023-12-06 23:18:04      38 阅读
  4. vue 组件通讯

    2023-12-06 23:18:04       31 阅读
  5. 二叉树的前、中和后序遍历的递归与迭代实现

    2023-12-06 23:18:04       26 阅读
  6. quickapp_快应用_DOM节点

    2023-12-06 23:18:04       34 阅读
  7. 第2节:Vue3 模板语法

    2023-12-06 23:18:04       32 阅读
  8. ReadWriteLock 和 StampedLock 的比较与解析

    2023-12-06 23:18:04       38 阅读
  9. 使用Redis实现购物车后端处理

    2023-12-06 23:18:04       34 阅读