CSS实现居中的几种方法

一、对于 行内元素
text-align:center;
二、对于 确定宽度 块级 元素:
(1) margin和width实现水平居中
常用(前提: 已设置width值): margin-left:auto; margin-right:auto;
(2) 绝对定位和margin-left: -(宽度值/2)实现水平居中
固定宽度块级元素水平居中,通过使用 绝对定位,以及 设置元素margin-left为其宽度的一半
.content{
width: 200px;
position: absolute;
left: 50%;
margin-left: -100px; // 该元素宽度的一半,即100px
background-color: aqua;
}
(3) position:absolute + (left=0+top=0+right=0+bottom=0) + margin:auto
.content{
position: absolute;
width: 200px;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}
三、对于 未知宽度 块级 元素:
(1) table标签配合margin左右auto实现水平居中
使用 table标签(或直接将块级元素设值为display:table),再通过给该标签添加 左右margin为auto
(2) inline-block实现水平居中方法
display:inline-block;(或display:inline)和text-align:center;实现水平居中
存在问题:需额外处理inline-block的浏览器兼容性( 解决inline-block元素的空白间距
(3) 绝对定位实现水平居中
  • 绝对定位+transform,translateX可以移动本省元素的50%
.content{
position: absolute;
left: 50%;
transform: translateX(-50%); /* 移动元素本身50% */
background: aqua;
}
(4) 相对定位实现水平居中
  • 用float或者display把父元素变成行内块状元素
.contentParent{
display: inline-block; /* 把父元素转化为行内块状元素 */
/*float: left; 把父元素转化为行内块状元素 */
position: relative;
left: 50%;
}
/*目标元素*/
.content{
position: relative;
right: 50%;
background-color:aqua;
}
(5) 浮动实现水平居中的方法
.contentParent{
float: left;
position: relative;
left: 50%;
}
/*目标元素*/
.content{
position: relative;
right: 50%;
background-color:aqua;
}
(6) CSS3的flex实现水平居中方法
.contentParent{
display: flex;
flex-direction: column;
}
.content{
align-self:center;
}
(7) CSS3的fit-content配合左右margin为auto实现水平居中方法
.content{
width: fit-content;
margin-left: auto;
margin-right: auto;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值