【CSS】水平垂直居中

  1. 给父盒子设置属性 flex

    • display: flex;写在父元素上这就是定义了一个伸缩容器
    • justify-content:center 设置主轴对齐方式为居中,默认是横轴。子元素居中。
    • align-items:center 设置纵轴对齐方式为居中,默认是纵轴。子元素居中。
  2. 给父盒子和子盒子设置属性

    给容器设置 display: flex; 子项设置 margin: auto;

  3. 绝对定位设置居中

    容器设置position: relative。子元素设置 position: absolute; left: 50%; top: 50%; transfrom: translate(-50%, -50%);

    优点就是不用关心子元素的长和宽,但是这种方法兼容性依赖 translate2d 的兼容性

  4. 绝对定位另一种方法

    需要给子元素设置 position: absolute; 设置固定宽度和高度;top、left、bottom、right都设置为0; margin设置为auto;也能实现垂直水平居中。

flex:1 的作用

  • 首先 flex: 1; 等同于 flex: 1 1 auto;
  • flex: 1 实际上是三个属性的缩写:flex-grow: 1; flex-shrink: 1 flex-basis: auto;
相关推荐
777VG3 小时前
PostgreSQL +martin将多张表输出成一个 MVT
前端·数据库·postgresql
mayaairi3 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
To_OC4 小时前
啃完流式输出:从一个卡顿的 LLM 接口开始,我搞懂了数据流到底怎么 “流”
前端·javascript·llm
阳光是sunny4 小时前
LangGraph实战教程:defer延迟节点——让收尾工作自动排到最后
前端·人工智能·后端
kyriewen4 小时前
我用了三周Claude Code Skills——总结出5条铁律,第3条最反直觉
前端·ai编程·claude
阳光是sunny4 小时前
LangGraph实战教程:控制流详解
前端·人工智能·后端
格尔曼Noah5 小时前
Safari浏览器中如何只允许指定网站下载
前端·safari
用户059540174466 小时前
用了3年Redis,才发现我一直没搞懂缓存一致性测试
前端·css
swipe6 小时前
07|(前端转后全栈)为什么后端也要缓存?从前端缓存思维理解 Redis
前端·后端·全栈
IT小盘6 小时前
05-企业项目统一接入多个大模型-适配器模式实战
前端·人工智能·适配器模式