CSS 居中的几种方式

简介: CSS 居中的几种方式

水平居中

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

.container{
    text-align: center;
}
.ele{
    display: inline-block;
}

使用table实现

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

.container{
        
}
.ele{
    display: table;
    margin: 0px auto;
}

使用margin: 0 auto实现

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

.container{

}
.ele{
    width: 100px;
    margin: 0 auto;
}

使用flex布局实现

.container{
    display: flex;
    justify-content: center;
}

或者

.container{
    display: flex;
}
.ele{
    margin: 0px auto;
}

绝对定位

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

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

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

垂直居中

使用vertical-align

.container{
    display: table-cell;
    vertical-align: middle;
}

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

或者

.container{
    display:inline-block;
    vertical-align: middle;
}

绝对定位

.container{
    height: 500px;
    position:relative;
}
.ele{
    position: absolute;
    top: 50%;
    height: 50px;
    margin-top: -25px;
}

当然height的一半也可以用

transform:translate(0,-50%);

来替代。

使用flex布局实现

.container{
    display: flex;
    align-items: center;
}

水平垂直居中

使用flex布局

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

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

使用绝对定位

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

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

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

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

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

.container{
    display:table-cell;
    vertical-align: middle;
    text-align: center;
}
.ele{
    display: inline-block;
}
目录
相关文章
|
前端开发
CSS使图片居中的三种方法
CSS使图片居中的三种方法
151 0
|
前端开发 容器
CSS 元素居中方式总结
CSS 元素居中
108 0
|
前端开发
css如何实现快速居中?
简单来说快速居中,就是给它的父级设置display: flex;属性,自身设置margin: auto;的属性
|
XML 前端开发 数据格式
前端样式CSS水平垂直居中的十中方法
首先我们先来了解下什么是CSS 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现[HTML](https://baike.baidu.com/item/HTML)([标准通用标记语言](https://baike.baidu.com/item/标准通用标记语言/6805073)的一个应用)或[XML](https://baike.baidu.com/item/XML)(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化 CSS 能够对网页中元素位置的排版进行像素级精
84 0
|
前端开发
CSS 水平垂直居中的方式
CSS 水平垂直居中的方式
|
前端开发 Android开发
css图片剪裁居中
列表显示图片的时候,一般设置图片宽度自适应,那么高度就会根据图片本身的宽高比等比缩放,那么问题来了,多张图片的宽高比可能本身并不相同,那么造成图片宽度一样,高度不一样,显示不好看,不协调。如下图,图1和图2.怎么才能实现图片居中剪切,避免图片变形呢,css属性object-fit就可以实现
136 0
css图片剪裁居中
|
前端开发
【前端】【样式】CSS居中的三种方式
【前端】【样式】CSS居中的三种方式
89 1
|
前端开发 开发者 容器
CSS 居中总结 | 学习笔记
快速学习 CSS 居中总结
CSS 居中总结 | 学习笔记
|
Web App开发 前端开发 UED
CSS3居中
CSS3居中
135 0
|
前端开发 JavaScript 容器
css 垂直居中方法汇总
css 垂直居中方法汇总