美文网首页
【转载】css水平垂直居中

【转载】css水平垂直居中

作者: shameyou | 来源:发表于2016-12-28 20:51 被阅读39次

样本:
<div class="wrap"><span class="content"></span></div>
基础样式:

.wrap{
         width:400px;
         height:300px;
         max-width:100%;
         border:1px solid #000;
}
.content {
        display:block;
        width:100px;
        height:100px;
        background:#f00;
}

水平居中:margin|定位法

1.margin方法

条件:

  • 元素定宽
  • 元素为块级元素(行内元素使用block)
  • 元素的margin-left/right须设置为auto;

使用margin:0 auto;后的效果如下:


table-cell垂直居中

1.3-image垂直居中

图片添加vertical-align:middle 属性

.wrap{
         border:1px solid #f00;
}
.content{
       vertical-align:middle;
}
span {
       display:inline-block;
       height:100%;
       vertical-align:middle;
}
图片vertical-align+span垂直居中

父元素添加text-align:center;即可水平垂直居中

2.视窗单位解决:
.wrap{
       position:relative;
}
.content{
       position:absolute;
       margin-top:50vh;
       transform:translate(-50px);
}

稍微改动实现水平垂直居中:

.wrap{
position:relative;
}
.content{
position:absolute;
margin-top:50vh;
transform:translate(150px,-50px);
}
使用视窗实现水平垂直居中使用视窗实现水平垂直居中

注意:元素只能用在视窗中

Flexbox解决方案

在需要设置水平垂直居中元素的父元素上设置display:flex;在需要设置水平垂直居中元素上设置margin:auto;即可

.wrap{
         display:flex;
}
.content{
          margin:auto;
}
flexbox实现水平垂直居中flexbox实现水平垂直居中
实现文本的水平垂直居中
.wrpa{
      display:flex;
}
.content{
       display:flex;
       align-items:center;
       justify-content:center;
       margin:auto;
}
文本水平垂直剧中文本水平垂直剧中

另:未知宽度下实现元素的水平居中:所需元素display:table margin:0 auto;
文章来源:知乎-前端进击者

相关文章

网友评论

      本文标题:【转载】css水平垂直居中

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