当前位置: 首页 > java >正文

【高频考点精讲】实现垂直居中的多种CSS方法比较与最佳实践

前端工程师必看:7种CSS垂直居中方案大比拼(附真实代码)

今天咱们聊聊前端开发中最让人头疼的问题之一——垂直居中。不知道你们有没有遇到过这种情况:明明设置了margin: 0 auto水平居中了,垂直方向怎么折腾都不对劲。全栈老李当年刚入行时,为了一个div居中能折腾一晚上,现在想想真是血泪史啊。

为什么垂直居中这么难?

浏览器对垂直方向的处理天生就比较"懒"。水平居中简单是因为块级元素默认宽度100%,我们只需要控制内容宽度和左右外边距就行。但垂直方向呢?父元素高度往往由内容撑开,子元素高度也不固定,这就导致了各种玄学问题。

不过别担心,全栈老李这就带你们解锁CSS垂直居中的七种姿势,从石器时代到现代方案一网打尽!

方案1:绝对定位 + 负边距(传统艺能)

.parent {position: relative;height: 300px; /* 必须指定高度,全栈老李提醒 */
}.child {position: absolute;top: 50%;left: 50%;width: 100px;height: 100px;margin-top: -50px; /* 高度的一半,全栈老李标注 */margin-left: -50px;
}

这是最古老的方案,兼容性极好,但有两个致命缺点:

  1. 必须知道子元素具体尺寸
  2. 修改尺寸时需要同步调整负边距

适合场景:固定尺寸的弹窗居中,兼容IE8等老浏览器时使用。

方案2:绝对定位 + trans

http://www.xdnf.cn/news/2092.html

相关文章:

  • 2.4goweb项目上传到csdn的git仓库
  • 前端面试宝典---vue原理
  • 【OpenCV】第二章——图像处理基础
  • 丝杆升降机换油周期深度解析:从理论模型到自动化监测的全栈实践​
  • [官方IP] Shift RAM
  • Python 第 11 节课 - string 与 random 的方法
  • io_uring概述:现代 Linux 异步 IO 的新范式
  • 启动命令汇总(Redis / Kafka / Flume / Spark)
  • 【MCP Node.js SDK 全栈进阶指南】中级篇(5):MCP客户端高级开发
  • 云原生--核心组件-容器篇-3-Docker三大核心之--镜像
  • 19.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--当前项目拆分规划
  • 【10分钟读论文】Power Transmission Line Inspections电力视觉水文
  • 链表相交.
  • Java 日志:掌握本地与网络日志技术
  • 一文了解智慧教育顶刊TLT的研究热点
  • Linux进程地址空间
  • py语法基础理解
  • femap许可常见问题及解决方案
  • Vue 3 父子组件通信案例详解:Props 与 Emits 实战
  • 一洽 全力辅助商户平台在线咨询解决方案
  • 自定义异常处理(全局异常处理)
  • Vue多地址代理端口调用
  • Promethues 普罗米修斯
  • 小刚说C语言刷题——1565成绩(score)
  • 某地农产品交易中心钢网架自动化监测项目
  • 筛法求莫比乌斯函数
  • 4月25日星期五今日早报简报微语报早读
  • ZYNQ-GPIO之MIO中断
  • 【计算机视觉】CV实战项目 - 深入解析基于HOG+SVM的行人检测系统:Pedestrian Detection
  • 管家婆财贸ERP BB103.收款单按明细核算部门项目