CSS 居中的几种方式

简介: CSS 居中的几种方式

水平居中

使用inline-block以及text-align实现。

.container{
    text-align: center;
}
.ele{
    display: inline-block;
}
AI 代码解读

使用table实现

这种方法可以不定宽居中。

.container{
        
}
.ele{
    display: table;
    margin: 0px auto;
}
AI 代码解读

使用margin: 0 auto实现

这种定位方法需要指定witdh。

.container{

}
.ele{
    width: 100px;
    margin: 0 auto;
}
AI 代码解读

使用flex布局实现

.container{
    display: flex;
    justify-content: center;
}
AI 代码解读

或者

.container{
    display: flex;
}
.ele{
    margin: 0px auto;
}
AI 代码解读

绝对定位

.container{
    position: relative;
}
.ele{
    position: absolute;
    left: 50%;
    margin-left: -50px;
    width: 100px;
    height: 100px;
    background-color: red;
}
AI 代码解读

或者将元素宽度的一般改成transform: translate(-50%),这样不定宽的时候也可以实现居中,但是兼容性不是足够好。

.container{
    position: relative;
}
.ele{
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    width: 100px;
    height: 100px;
    background-color: red;
}
AI 代码解读

垂直居中

使用vertical-align

.container{
    display: table-cell;
    vertical-align: middle;
}
AI 代码解读

注意要设置height或者line-height。

或者

.container{
    display:inline-block;
    vertical-align: middle;
}
AI 代码解读

绝对定位

.container{
    height: 500px;
    position:relative;
}
.ele{
    position: absolute;
    top: 50%;
    height: 50px;
    margin-top: -25px;
}
AI 代码解读

当然height的一半也可以用

transform:translate(0,-50%);
AI 代码解读

来替代。

使用flex布局实现

.container{
    display: flex;
    align-items: center;
}
AI 代码解读

水平垂直居中

使用flex布局

利用flex布局的justify-content以及align-items修改弹性盒子纵向以及横向的对其位置,使子元素在纵向以及横向位置都以正中位置对其。

.container{
    display: flex;
    justify-content: center;
    align-items: center;
}
AI 代码解读

使用绝对定位

使用绝对定位设置top以及left为50%,然后将宽度以及高度的一半“拉”回来。

.container{
    position: relative;
}
.ele{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
AI 代码解读

如果宽度高度指定的时候也可以通过设置负的margin来实现。

.container{
    position: relative;
}
.ele{
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100px;
    width: 100px;
    margin-left: -50px;
    margin-top: -50px;
}
AI 代码解读

利用vertical-align,text-align,inline-block实现

.container{
    display:table-cell;
    vertical-align: middle;
    text-align: center;
}
.ele{
    display: inline-block;
}
AI 代码解读
相关文章
财务管理|基于SprinBoot+vue的财务管理系统(源码+数据库+文档)
财务管理|基于SprinBoot+vue的财务管理系统(源码+数据库+文档)
298 0
量化合约系统开发(web3.0技术开发)丨合约量化系统开发(demo及源码)
  智能制造则是利用先进的数字化、网络化、智能化技术,建立高度集成化的制造系统,实现远程监测、即时调度、智能决策、智能优化等功能。智能制造提供了更高效、精准、灵活的生产方式,有效地提升了制造业的质量和效率。在智能制造中,人工智能技术被视为实现智能制造的重要支撑,可以扩大智能制造的深度和广度
实时计算 Flink版操作报错合集之遇到检查点(checkpoint)状态不单调递增,该怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
187 0
FPGA设计8-3线优先编码器与3-8线译码器
本文主要介绍FPGA设计8-3线优先编码器与3-8线译码器
1900 0
FPGA设计8-3线优先编码器与3-8线译码器
信奥赛一本通1150:求正整数2和n之间的完全数
题目描述】 求正整数2和n之间的完全数(一行一个数)。 完全数:因子之和等于它本身的自然数,如 6=1+2+3 【输入】 输入n(n≤5000)。 【输出】 一行一个数,按由小到大的顺序。 【输入样例】 7 【输出样例】
765 0
【100天精通python】Day37:GUI界面编程_PyQt 从入门到实战(上)_PyQt6基本组件、事件和信号槽、界面设计
【100天精通python】Day37:GUI界面编程_PyQt 从入门到实战(上)_PyQt6基本组件、事件和信号槽、界面设计
827 1
Spring Cloud构建微服务架构:消息驱动的微服务(消费组)【Dalston版】
Spring Cloud构建微服务架构:消息驱动的微服务(消费组)【Dalston版】
164 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问