外链论坛

 找回密码
 立即注册
搜索
查看: 86|回复: 5

CSS垂直居中、水平居中

[复制链接]

2965

主题

412

回帖

9117万

积分

论坛元老

Rank: 8Rank: 8

积分
91179213
发表于 2024-6-30 05:54:46 | 显示全部楼层 |阅读模式

CSS垂直居中、水平居中

让一个div一段文字一张照片居中表示的问题,面试的过程中经常被问到。相信大众平常的布局经常会用到,回答出个三两种处理方法不是难事。但今天我细究了一下,发掘还有新大陆可寻,特意留此博文总结一下,与君分享!倘若你有新的办法,欢迎弥补

咱们先从固定宽高的div起始

为方便演示,默认宽高各为100px的div

<div class="wrapper"> <div class="content"></div> </div>

以下方式所有是水平及垂直居中

办法一:padding填充

.content{ margin: 0 auto; padding: 50px; width: 100px; height: 100px; bac公斤round-color: red; }

优点:兼容性非常好

缺点:倘若父级的高度受到兄弟节点的影响,这般自己就不居中了

办法二:绝对定位

.wrapper{ position: relative; } .content{ position: absolute; left: 50%; top: 50%; margin-top: -50px; margin-left: -50px; width: 100px; height: 100px; bac公斤round-color: red; }

优点:兼容性非常好

缺点:必须提前晓得div的宽高,实用性偏弱

办法三:计算属性(calc)

margin: calc((100% - 100px) / 2); width: 100px; height: 100px; bac公斤round-color: red;

优点:感觉不到有什么优点

缺点:不仅必须提前晓得div的宽高,况且浏览器对calc的属性支持程度不一,会有兼容问题。不举荐运用意见做为认识

接下来是不固定宽高的div

为方便演示,还是默认宽高各为100px的div

办法四:absolute + margin: auto;

.wrapper{ position: relative; } .content{ position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; width: 100px; height: 100px; bac公斤round-color: red; }

优点:不必须提前晓得尺寸,兼容性好

缺点:暂时什么要说的,可能理解起来比较麻烦吧

解析:

1、咱们先让content脱离文档流,而后设置上右下左四个位置均为0

2、给它固定宽高,限制体积

3、利用margin属性,均分外边距

办法五:absolute + transform

.content{ position: absolute; left: 50%; top: 50%; width: 100px; height: 100px; transform: translate(-50%,-50%); bac公斤round-color: red; }

优点:除了不消提前晓得体积好似没什么了

缺点:兼容性偏弱

办法六:父级flex布局

.wrapper{ display: flex; justify-conte




上一篇:CSS的垂直居中和水平居中
下一篇:【面试前】css样式垂直/水平/垂直水平居中的方式总结
回复

使用道具 举报

3129

主题

3万

回帖

9996万

积分

论坛元老

Rank: 8Rank: 8

积分
99968654
发表于 2024-10-4 14:14:36 | 显示全部楼层
你说得对,我们一起加油,未来可期。
回复

使用道具 举报

3112

主题

3万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99108663
发表于 2024-10-12 23:42:23 | 显示全部楼层
外链发布社区 http://www.fok120.com/
回复

使用道具 举报

3083

主题

3万

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098788
发表于 2024-10-23 16:22:47 | 显示全部楼层
你说得对,我们一起加油,未来可期。
回复

使用道具 举报

3129

主题

3万

回帖

9996万

积分

论坛元老

Rank: 8Rank: 8

积分
99968654
发表于 2024-10-31 01:53:50 | 显示全部楼层
你的话深深触动了我,仿佛说出了我心里的声音。
回复

使用道具 举报

3056

主题

3万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99138998
发表于 6 天前 | 显示全部楼层
祝福你、祝你幸福、早日实现等。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-18 04:25 , Processed in 0.106049 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.