外链论坛

 找回密码
 立即注册
搜索
查看: 97|回复: 0

CSS中的9种居中办法

[复制链接]

2705

主题

4690

回帖

9911万

积分

论坛元老

Rank: 8Rank: 8

积分
99110220
发表于 2024-6-30 09:36:51 | 显示全部楼层 |阅读模式

办法1:gird布局

父级元素display设置grid,主轴和副轴设置为center。

.box{ display: grid; align-items: center; justify-items: center; }

办法2:justify-content替换justify-items

办法1的基本上,用justify-content替换justify-items能够取得相同效果

.box{ display: grid; align-items: center; justify-content: center; }

办法3:

父级display设置为grid,子元素的margin为auto。

.box{ display: grid; } p{ margin: auto; }

办法4:

运用flex布局得到居中效果,设置父元素display为flex,和办法1同样运用align-items: center; justify-content: center;

.box{ display: flex; align-items: center; justify-content: center; }

办法5:

父元素运用flex布局,子元素设置margin:auto;

.box{ display: flex; } p{ margin: auto; }

办法6:

父元素设置为display:table-cell;,而后用vertical-align设置子元素垂直居中,用text-align属性让文本水平居中,在子元素上设置inline-block。

这种办法并不常用

.box{ display: table-cell; vertical-align:middle; text-align:center; } p{ display:inline-block; }

办法7:

设置父元素为relative,再设置子元素为absolute,左边和上边偏移50%,实现居中。

.box{ position: relative; } p{ position: absolute; left: 50%; top: 50%; transfrom: translate(-50%,-50%); margin: 0; }

办法8:

父元素,text-align:center,运用伪元素::after为盒子开头形成空字符串。

设置行高为盒子的高度,而后子元素display:inline-block.

.box{ width: 200px; height: 200px; text-align: center; } .box::after{ content: ; line-height: 200px; } p{ display: inline-block; }

办法9:

已然弃用,但能实现居中,不举荐

.box{ position: relative; } p{ width: 100px; height: 40px; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-3 15:35 , Processed in 0.062757 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.