CSS几种居中方法解释

1.水平居中

行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可,下面主要介绍下容器内的垂直居中和完全居中

2.line-height

单行文本垂直居中

<div id="parent">
<div id="child">Text here</div>
</div>
#child {
line-height: 200px;
text-align:center;
}

图片垂直居中:

<div id="parent">
![](image.png)
</div>
#parent {
line-height: 200px;
}
#parent img {
vertical-align: middle;
}

3.table & table-cell

通用方法(vertical-align只对行内元素或者行内快起效,table-cell默认为行内块)

<div id="parent">
<div id="child">Content here</div>
</div>
#parent {display: table;}
#child {
display: table-cell;
vertical-align: middle;
}

4.absolute-position & negative-margin

<div id="parent">
<div id="child">Content here</div>
</div>
#parent{
    width:600px;
    height:200px;
    position:relative;
}
#child{
    width:300px;
    height:100px;
    left:50%;
    top:50%;
    margin-left: -150px;/*负的元素宽度的一半*/
    margin-top: -50px;/*负的元素高度的一半*/
    position:absolute;
}

5.absolute-position & margin-auto

实现的效果和上面的相同,这种在做响应式中用起来比较方便(此特性只支持IE8+)

<div id="parent">
<div id="child">Content here</div>
</div>
#parent {
  position: relative;
  width:600px;
  height:200px;
}
 
#child {
  width: 50%;
  height: 50%;
  overflow: auto;
  margin: auto;
  position: absolute;
  top: 0; left: 0; bottom: 0; right: 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 收听音频,戳链接,旧号itclan已暂停使用,欢迎关注微信itclanCoder公众号可收听更多音频 前言 关于网...
    itclanCoder阅读 8,222评论 3 30
  • 一 外部式css样式 (也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css...
    KunMitnic阅读 974评论 0 1
  • 1.绝对定位居中技术 我们一直用margin:auto实现水平居中,而一直认为margin:auto不能实现垂直居...
    DecadeHeart阅读 1,628评论 0 3
  • 著名儿童文学家曹文轩曾说过:“人的乡愁是永远的。”无论我们走到哪里,故乡是永远。故乡,是我们回眸时的精神的寄托,...
    阿建w阅读 612评论 0 4