外链论坛

 找回密码
 立即注册
搜索
查看: 83|回复: 2

CSS实现元素居中N种办法 ——比较全,附上 demo

[复制链接]

2670

主题

5644

回帖

9911万

积分

论坛元老

Rank: 8Rank: 8

积分
99110477
发表于 2024-6-30 09:47:56 | 显示全部楼层 |阅读模式

文案适合「前端新人」和「巩固基本的前端切图仔」,整理得比较全,意见保藏

这阵子在准备面试,复习有些基本知识,发掘元素居中的实现方式尤其多,网上哪些整理的比较乱,就准备自己动手整理一下。影响元素居中的原因非常多区别元素类型、是不是设置宽高、区别实现方式「常规的,position、flex」、区别居中类型「水平、垂直、水平垂直」各样组合加起来起码有十几种。区别的实现方式浏览器兼容有差异。因此好好整理一下还是特别有必要的。

测试环境:浏览器:chrome 91.0.4472.124 兼容性区别浏览器会存在差异,兼容性后面有时间补上

文案的demo,已然发送到 github,必须预览效果的能够拉一下代码 ———「元素居中的N种办法! 觉得还不错,记得点个赞喔

水平居中

text-align: center

适用:行内元素

<style> .inline-box{ height: 300px; width: 300px; border: 1px solid black; text-align: center; //重要代码 } </style> <div class="inline-box"> <!-- 行内元素 --> <span>行内元素水平居中</span> <!-- 行内块级元素 --> <img src="logo.jpg"> </div>

margin: 0 auto

适用:块级元素,已设置宽高

<style> .block-box { float: left; height: 300px; width: 300px; border: 1px solid black; } /* 已设置宽度 */ .block-content-1 { width: 100px; height: 100px; bac公斤round-color: cadetblue; margin: 0 auto; //重要代码 } /* 没设置宽度 ,默认占满一行,水平居中道理*/ .block-content-2 { bac公斤round: #fba6a6; } </style> <div class="block-box"> <div class="block-content-1">设置宽度,水平居中</div> <div class="block-content-2">没设宽度默认占满一行,不必水平居中</div> </div>

margin-left

适用: 块级元素,已知高度

人工计算居中的位置,父元素宽为 300px ,子元素宽 100px , 那样 margin-left 设置为 50 px 就可

display: table-cell + text-algin: center

适用:行内元素

.table-cell-box { height: 300px; width: 300px; border: 1px solid black; display: table-cell; text-align: center; } <div class="table-cell-box"> <span>table-cell 设置宽度,水平居中</span> </div>

position + left: 0 + right: 0 + margin: auto

适用:行内和块级元素都适用,必须设置宽度

.position-margin-box { position: relative; } .position-margin-box * { position: absolute;
回复

使用道具 举报

1

主题

956

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-8-20 18:07:30 | 显示全部楼层
一看到楼主的气势,我就觉得楼主同在社区里灌水。
回复

使用道具 举报

0

主题

1万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-9-3 21:59:16 | 显示全部楼层
感谢您的精彩评论,为我带来了新的思考角度。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-5 12:21 , Processed in 0.063675 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.