美文网首页前端精髓让前端飞技术干货
CSS居中问题的各种解决方案

CSS居中问题的各种解决方案

作者: 前端精髓 | 来源:发表于2017-07-27 23:04 被阅读86次

水平居中

行内元素

把行内元素嵌套在一个DIV中,并且在DIV中设置以下样式

div {
text-align: center;
}

块级元素

对于定宽的块级元素,我们要设置起margin-top,margin-right 为auto

div {
margin: 0 auto;
}

多个块级元素(inline-block)

多个块级元素,我们将其display设置为inline-block;然后将父级元素设置一下属性

ul {
text-align: center;
}
ul li {
display: inline-block;
}

多个块级元素(flex)

设置需要水平居中的块状元素的父元素display为flex ,并且justify-content属性为center即可

ul {
display: flex;
justify-content: center;
}
ul li {
}

垂直居中

单行行内元素

将行内元素的height和line-height设置为一致即可

div {
height: 200px;
line-height: 200px;
}

多行行内元素

如果行内元素文字过多产生多行,则在父级元素设置display: table-cell;vertical-align:middle;

div {
width: 300px;
height: 300px;
display: table-cell;
vertical-align: middle;
}

已知高度的块级元素

将块级元素设置绝对定位,top为50%,margin-top:-height/2

div {
position: absolute;
height: 100px;
top: 50%;
margin-top: -50px;
padding: 0;
}

未知高度的块级元素

使用CSS translate,将块级元素设置绝对定位,top为50%,transform: translateY(-50%);

div{
position: absolute;
top: 50%;
padding: 0;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
transform: translateY(-50%);
}

水平垂直居中

已知高度、宽度的元素

将块级元素设置绝对定位,top为50%,left:50%;margin-top:-height/2;margin-left:-width/2

div{
position: absolute;
width: 150px;
height: 150px;
top: 50%;
left: 50%;
margin-top: -75px;
margin-left: -75px;
}

已知高度、宽度的元素(flex)

给父级使用flex布局

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

未知高度、宽度的元素

使用CSS translate

div{
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}

小结

CSS设置居中是我们经常遇到的,本文总结了遇到的各种居中情况,并提供了一种设置方式,有的情况使用flex(兼容ie10+),有的使用了transform(兼容ie9+),如果你有更多的方法,欢迎在下方留言。

相关文章

  • CSS居中问题的各种解决方案

    水平居中 行内元素 把行内元素嵌套在一个DIV中,并且在DIV中设置以下样式 div {text-align: c...

  • 元素居中解决方案

    html: css:1水平居中:解决方案1: 解决方案2: 解决方案3: 2垂直居中:解决方案1: 解决方案2: ...

  • CSS各种居中实现方式

    原文地址:CSS各种居中实现方式 CSS居中是每次布局都需要面对的问题,但是同一个居中方法并不是任何元素都能使用的...

  • 页面布局居中问题

    css页面布局水平垂直居中问题 居中问题

  • CSS各种居中

    水平居中 行内元素 对爸爸使用text-align: center 块级元素 单个元素 对儿子使用margin: ...

  • 「页面架构」布局解决方案

    布局解决方案 了解 CSS 中属性的值及其特性, 透彻分析问题和需求才可以选择和设计最适合的布局解决方案。 居中布...

  • css 居中

    居中有水平居中和垂直居中。 水平居中+垂直居中 flex法 position法 就是计算呗~ 参考 CSS各种居中...

  • css实现各种居中

    我们使用css过程中会碰到各种居中的需求,比如水平居中、垂直居中、水平、垂直同时居中,而且同时会有各种各样的前提条...

  • css布局:各种居中

    1. margin设为auto 此方法只能进行水平居中,且对浮动元素或绝对定位元素无效。 2. 使用text-al...

  • css居中各种实现

    垂直居中 多行文字垂直居中 利用flex布局 利用display: table;

网友评论

    本文标题:CSS居中问题的各种解决方案

    本文链接:https://www.haomeiwen.com/subject/howtlxtx.html