CSS 居中小结

简单地整理一些css居中的方法。

text-align:center:

这种方法可以让** inline/inline-block/inline-table/inline/flex**等类型的元素实现 水平居中

line-height:

将line-height与padding两个值配合可以实现文字垂直居中。不建议写死height居中的方法。

margin-left:auto; margin-right:auto;

这种方法可以实现块级元素水平居中。但必须先设置元素适当的width值,否则块级元素会默认拉伸为父级元素的宽度导致居中无效。通常情况下多见简写成 **margin:0 auto; **在很多情况下的确可行,但在某些情况下,”margin:0 auto“由于设置了上下margin为0,可能会导致某些定位上的困扰难以发现,所以并不建议。

绝对定位居中:

父容器元素:position: relative
子容器元素:
width: 50%;
height: 50%;
overflow: auto;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
}
这样可以实现子元素相对于父元素的绝对定位居中,需要注定的是,height是必须定义的,另外建议加 overflow: auto,防止内容溢出。

视口居中:

父容器元素: position: relative
内容元素:position: fixed,z-index: 999,例子:
.class1 {
width: 50%;
height: 50%;
overflow: auto;
margin: auto;
position: fixed;
top: 0; left: 0; bottom: 0; right: 0;
z-index: 999;
}

响应式居中:

百分比宽高,最大、最小宽度均可以,加 padding 也可以:
.class1 {
width: 60%;
height: 60%;
min-width: 400px;
max-width: 500px;
padding: 40px;
overflow: auto;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
}

flexbox:

父级容器为 display: flex,
.flex1{
display: flex;
justify-content: center;
align-items:center;
}
对于父级元素来说,它的所有子元素都是垂直居中的,这种方法最简便,建议使用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 13,239评论 0 8
  • 水平居中 行内或类行内元素 在块级父容器中让行内元素居中,只需使用 text-align: center; : 这...
    莱昂纳德刚阅读 1,404评论 0 0
  • 1.绝对定位居中技术 我们一直用margin:auto实现水平居中,而一直认为margin:auto不能实现垂直居...
    DecadeHeart阅读 5,497评论 0 3
  • CSS中在不同场景下,解决居中的方式有很多,经常让人无从下手,所有我们将CSS居中进行一次小结,方便以后我们布局使...
    字母31阅读 1,859评论 0 1
  • 前面学习了使用HTML为网页添加内容,要对所添加的内容进行布局,就需要使用到CSS,JS等,这里就记录一下自己关于...
    wxyzcctn阅读 3,561评论 0 3