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

【高频考点精讲】实现垂直居中的多种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

相关文章:

  • BS架构与CS架构的对比分析:了解两种架构的不同特点与应用
  • 计算机网络 | 应用层(4)--DNS:因特网的目录服务
  • (done) 吴恩达版提示词工程 5. 推理 (情绪分类,控制输出格式,输出 JSON,集成多个任务,文本主题推断和索引,主题内容提醒)
  • 来自 Bisheng 关于微调的内容总结
  • [mysql]约束(上)
  • 19.【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--当前项目拆分规划
  • 前端开发中列表无限加载功能的实现与优化
  • 神经网络与深度学习第四章-前馈神经网络
  • C++ 同步原语
  • 【股票系统】使用docker本地构建ai-hedge-fund项目,模拟大师炒股进行分析。人工智能的对冲基金的开源项目
  • 下垂控制属于构网型控制技术
  • 药监平台上传数据报资源码不存在
  • 焕新升级001,50M/S告别限速!
  • leetcode66.加一
  • 反事实——AI与思维模型【82】
  • 从 Lambda 到 DSL:Kotlin 接口实现的演进之路
  • IT社团分析预测项目(pandas、numpy、sklearn)
  • 哪些物联网框架支持多协议接入?选型指南与核心能力解析
  • Raptor码的解码成功率matlab实现
  • Oracle官宣 MySQL+APEX+AI三认证限时免费
  • 这场迪图瓦纪念拉威尔的音乐会,必将成为乐迷反复品味的回忆
  • 在上海生活8年,13岁英国女孩把城市记忆写进歌里
  • 特朗普政府称将恢复被终止的外国学生合法身份
  • 广州多条BRT相关线路将停运,全市BRT客运量较高峰时大幅下降
  • 美联储官员:若特朗普高额关税致失业率飙升,将支持降息
  • 马上评丨从东方红一号到神二十,中国航天步履不停