常用居中布局总结

一、水平居中

1、行内元素

父元素设置text-align:center.

2、块级元素

margin:0 auto;

二、块级元素垂直居中

1、上下padding相等

容器高度不固定,高度由内容撑开

2、绝对定位

  • 宽高固定
    设置left:50%,top:50%,配合负margin,margin-top和margin-left:- 宽高的一半

  • 宽高不定
    设置left:50%,top:50%,
    transform:translate(-50%,-50%);//相对自己移动
    只适用于ie9+

注:设置margin百分比是相对容器

3、flex

.space {
display: flex; /* 弹性布局 /
align-items: center; /
垂直居中 /
justify-content: center; /
水平居中 */
}

三、行内元素垂直居中

1、原理是设置一个与容器等高的元素,使元素与其中线对齐

  • vertical-align只对display:inline-block有效
  • 对于对于可替换元素(如 img、input、select 等),不存在 content (内容或后代元素)在标签中,伪元素无效,所以写在父标签中

.box:before{
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
}
.box img{
vertical-align: middle;
background: blue;
}

2、父容器设置成表格元素,td中设置 vertical-align自动对齐

  • 父元素大小可能会改变

.box{
width: 300px;
height: 200px;
border: 1px solid ;
display: table-cell;
vertical-align: middle;

text-align: center;
}

3、使用absolute

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 8,901评论 0 6
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 10,132评论 0 26
  • ‘怀孕’两个字就像烟花一样在夏暖脑海里炸开,她这才想起在前两天就应该报道的大姨妈并没有来。 想起这些天,那个神...
    樱吹雪_1b2e阅读 1,781评论 0 1
  • 该坚持,还是放弃呢?每天都在写字台前纠结很久,抱着手机写不出东西。不想放弃,想写什么呢又写不出来。常常想如果写作就...
    冰河世纪小萨阅读 3,237评论 3 2