【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;
相关推荐
四眼肥鱼13 分钟前
全网最全的 qiankun 基于 react18+(主应用)、vue3.4+(微应用)实现页签缓存,页面缓存
前端·javascript
dorisrv15 分钟前
优雅地处理前端错误边界
前端
狗哥哥18 分钟前
Pinia Store 平滑迁移:用代理模式实现零风险重构
前端·架构
老前端的功夫27 分钟前
前端水印技术深度解析:从基础实现到防破解方案
开发语言·前端·javascript·前端框架
霍格沃兹测试学院-小舟畅学29 分钟前
性能测试入门:使用 Playwright 测量关键 Web 性能指标
开发语言·前端·php
tangbin58308532 分钟前
iOS Swift 工具类:数据转换工具 ParseDataTool
前端
潜水豆34 分钟前
AI 时代的前端究竟还能积累什么
前端
www_stdio35 分钟前
手写 instanceof:深入理解 JavaScript 原型与继承机制
前端·javascript·html
boombb39 分钟前
国际化方案:多环境、多语言、动态加载的完整实践
前端
狗哥哥40 分钟前
我是如何治理一个混乱的 Pinia 状态管理系统的
前端·vue.js·架构