0

0

分享7种实现CSS垂直居中的技巧(附代码)

yulia

yulia

发布时间:2018-09-15 16:18:03

|

2239人浏览过

|

来源于php中文网

原创

网页css垂直居中需求始终没有停过,而其困难度也始终没有让人轻松过,经过了每位开发先烈的研究后,据说css的垂直居中技巧已达到近十种之多,但始终鲜为人知,部分公司甚至将css的垂直居中技巧当成面试题,其重要性可见一斑,今天就带着大家了解一下css的垂直居中的多种方式吧。

1、Line-height

适用情景:单行文字垂直居中技巧

这个方式应该是最多人知道的了,常见于单行文字的应用,像是按钮这一类对象,或者是下拉框、导航此类元素最常见到的方式了。此方式的原理是在于将单行文字的行高设定后,文字会位于行高的垂直中间位置,利用此原理就能轻松达成垂直居中的需求了。

Lorem ipsam.
.content{ width: 400px; background: #ccc; line-height:100px; margin: auto; }

2、Line-height + inline-block

立即学习前端免费学习笔记(深入)”;

适用情景:多对象的垂直居中技巧

既然可以使用第一种方式对行元素达成垂直居中的话,当然没有理由不能做到多行啊~但是你需要将多个元素或多行元素当成一个行元素来看待,所以我们必须要将这些数据多包一层,并将其设定为inline-block,并在该inline-block对象的外层对象使用inline-block来代替height的设置,如此便可以达到垂直居中的目的了,从使你的数据是包含了标题跟内容在内也可以正常的垂直居中了。

立马来看Amos实际完成的 CSS3精美相册效果 效果吧!別忘了拖拉一下窗口看看 RWD 效果喔!
h2{ text-align: center; } .box{ width: 500px; border: 1px solid #f00; margin: auto; line-height: 200px; text-align: center; } .box2 .content{ display: inline-block; height: auto; line-height:1; width: 400px; background: #ccc; }

 3、:before + inline-block

适用情景:多对象的CSS垂直居中技巧

:before 伪类元素搭配 inline-block 属性的写法应该是很传统的垂直居中的技巧了,此方式的好处在于子元素居中可以不需要特别设定高度,我们将利用:before伪类元素设定为100%高的inline-block,再搭配上将需要居中的子元素同样设置成inline-block性质后,就能使用vertical-align:middle来达到垂直居中的目的了,此方式在以往其实是个非常棒的垂直居中解决方案,唯独需要特别处理掉inline-block元素之间的4-5px空间这个小缺陷,但也很实用了。

3.:before + inline-block

立马来看Amos实际完成的 CSS3精美相册效果 效果吧!別忘了拖拉一下窗口看看 RWD 效果喔!
h2{ text-align: center; } .box{ width: 500px; height: 250px; border: 1px solid #f00; margin: auto; text-align: center; } .box::before{ content:''; display: inline-block; height: 100%; width: 0; vertical-align: middle; } .box .content{ width: 400px; background: #ccc; display: inline-block; vertical-align: middle; }

 4、absolute + margin 负值

适用情景:多行文字的垂直居中技巧

谁说绝对定位要少用?Amos认为没有少用多用的问题,重点在于你是否有妥善运用才是重点,绝对定位在这个例子中会设置top:50%来抓取空间高度的50%,接着在将居中元素的margin-top设定为负一半的高度,这样就能让元素居中了,此方法可是自古以来流传多年的居中方式呢?

Studio Global
Studio Global

Studio Global AI 是一个内容生成工具,帮助用户客制化生成风格和内容,以合理价格提供无限生成,希望将 AI 带给全世界所有人。

下载

4.absolute + margin 負值

立马来看Amos实际完成的 CSS3精美相册效果 效果吧!別忘了拖拉一下窗口看看 RWD 效果喔!
h2{ text-align: center; } .box{ width: 500px; height: 250px; border: 1px solid #f00; margin: auto; position: relative; } .box4 .content{ width: 400px; background: #ccc; height: 70px; position: absolute; top:50%; left: 50%; margin-left: -200px; margin-top: -35px; }

5、absolute + margin auto

适用情景:多行文字的垂直居中技巧

又一个绝对定位的垂直居中的方案,这个方式比较特别一点,当元素设置为绝对定位后,假设它是抓不到整体可运用的空间范围,所以margin:auto会失效,但当你设置了top:0;bottom:0;时,绝对定位元素就抓到了可运用的空间了,这时你的margin:auto就生效了(神奇吧),如果你的绝对定位元素需要水平居中于父层,那你同样可以设定left:0;right:0;来让绝对定位元素取得空间可运用范围,再让marign-left与margin-right设定为auto即可居中。但此方式的缺点是你的定位元素必须有固定的宽高(百分比也算)才能正常居中。

5.absolute + translate(-50%, -50%)

立马来看Amos实际完成的 CSS3精美相册效果 效果吧!別忘了拖拉一下窗口看看 RWD 效果喔!
h2{ text-align: center; } .box{ width: 500px; height: 250px; border: 1px solid #f00; margin: auto; position: relative; } .content{ width: 400px; background: #ccc; height: 70px; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; }

6、Display:table-cell

适用情景:多行文字的垂直居中技巧

这一招我想有点年纪的开发者应该都有看过,当然像我这么嫩的开发者当然是第一次看到啦,这一招的原理在于使用 CSS display属性将div设置成表格的单元格,这样就能利用支持存储单元格对齐的vertical-align属性来将信息垂直居中

19.display: table-cell

立马来看Amos实际完成的 CSS3精美相册效果 效果吧!別忘了拖拉一下窗口看看 RWD 效果喔!
h2{ text-align: center; } .box{ width: 500px; height: 250px; border: 1px solid #f00; margin: auto; text-align: center; display: table-cell; vertical-align: middle; } .content{ width: 400px; background: #ccc; margin: auto; }

 7、padding

适用情景:多行文字的垂直居中技巧

什么!这也算垂直居中技巧,连我奶奶都知道这方式吧

对的,这的确也算是一种垂直居中的方式,不可讳言的这方式真的是简单过头了,以至于有些开发者认为这种方式都不能算是一种垂直居中的技巧,但同样的你无法反驳的是,我的数据的确垂直居中啦,好啦,就当我硬凹吧,你说的对,好吧

22.padding

立马来看Amos实际完成的 CSS3精美相册效果 效果吧!別忘了拖拉一下窗口看看 RWD 效果喔!
h2{ text-align: center; } .box{ width: 500px; border: 1px solid #f00; margin: auto; height: auto; padding: 50px 0; } .content{ width: 400px; background: #ccc; margin: auto; }

总结:以上给大家介绍了7种CSS垂直居中技巧,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对PHP中文网的支持!

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
margin在css中是啥意思
margin在css中是啥意思

在CSS中,margin是一个用于设置元素外边距的属性。想了解更多margin的相关内容,可以阅读本专题下面的文章。

434

2023.12.18

css中的padding属性作用
css中的padding属性作用

在CSS中,padding属性用于设置元素的内边距。想了解更多padding的相关内容,可以阅读本专题下面的文章。

133

2023.12.07

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

10

2026.01.27

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

109

2026.01.26

edge浏览器怎样设置主页 edge浏览器自定义设置教程
edge浏览器怎样设置主页 edge浏览器自定义设置教程

在Edge浏览器中设置主页,请依次点击右上角“...”图标 > 设置 > 开始、主页和新建标签页。在“Microsoft Edge 启动时”选择“打开以下页面”,点击“添加新页面”并输入网址。若要使用主页按钮,需在“外观”设置中开启“显示主页按钮”并设定网址。

15

2026.01.26

苹果官方查询网站 苹果手机正品激活查询入口
苹果官方查询网站 苹果手机正品激活查询入口

苹果官方查询网站主要通过 checkcoverage.apple.com/cn/zh/ 进行,可用于查询序列号(SN)对应的保修状态、激活日期及技术支持服务。此外,查找丢失设备请使用 iCloud.com/find,购买信息与物流可访问 Apple (中国大陆) 订单状态页面。

129

2026.01.26

npd人格什么意思 npd人格有什么特征
npd人格什么意思 npd人格有什么特征

NPD(Narcissistic Personality Disorder)即自恋型人格障碍,是一种心理健康问题,特点是极度夸大自我重要性、需要过度赞美与关注,同时极度缺乏共情能力,背后常掩藏着低自尊和不安全感,影响人际关系、工作和生活,通常在青少年时期开始显现,需由专业人士诊断。

7

2026.01.26

windows安全中心怎么关闭 windows安全中心怎么执行操作
windows安全中心怎么关闭 windows安全中心怎么执行操作

关闭Windows安全中心(Windows Defender)可通过系统设置暂时关闭,或使用组策略/注册表永久关闭。最简单的方法是:进入设置 > 隐私和安全性 > Windows安全中心 > 病毒和威胁防护 > 管理设置,将实时保护等选项关闭。

6

2026.01.26

2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】
2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】

铁路12306提供起售时间查询、起售提醒、购票预填、候补购票及误购限时免费退票五项服务,并强调官方渠道唯一性与信息安全。

115

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MongoDB 教程
MongoDB 教程

共42课时 | 27.1万人学习

JavaScript函数与闭包
JavaScript函数与闭包

共32课时 | 4.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号