美文网首页
CSS的垂直居中和水平居中总结

CSS的垂直居中和水平居中总结

作者: Air丹 | 来源:发表于2016-12-16 14:05 被阅读0次

    内联元素居中方案

    水平居中设置:

    行内元素 设置text-align:center;
    Flex布局 设置display:flex; justify-content:center;(灵活运用)

    垂直居中设置:

    父元素高度确定的单行文本(内联元素) 设置 height = line-height;
    父元素高度确定的多行文本(内联元素) a:插入 table(插入方法和水平居中一样),然后设置vertical-align:middle;b:先设置display:table-cell 再设置 vertical-align:middle;

    块级元素居中方案

    水平居中设置:

    定宽块状元素 设置margin:0 auto;
    不定宽块状元素 a:在元素外加入table 标签(完整的,包括table、tbody、tr、td),该元素写在td内,然后设置 margin:0 auto; b:给该元素设置 display:inine方法; c:父元素设置 position:relativeleft:50%,子元素设置 position:relativeleft:50%;

    垂直居中设置:

    1.使用position:absolute(fixed),设置left、top、margin-left、margin-top的属性;

    .box{ position:absolute;/*或fixed*/
          top:50%;
          left:50%;
          margin-top:-100px;
          margin-left:-200px;
        }
    

    2.利用position:fixed(absolute)属性,margin:auto这个必须不要忘记了;

    .box{ position: absolute;/*或fixed*/
          top:0;
          right:0;
          bottom:0;
          left:0;
          margin: auto;
        }
    

    3.利用display:table-cell属性使内容垂直居中;

    .box{ display:table-cell;
          vertical-align:middle;
          text-align:center;
          width:120px;
          height:120px;
          background:purple;
        }
    

    4.使用css3的新属性transform:translate(x,y)属性;

    .box{ position: absolute;
          transform: translate(50%,50%);
          -webkit-transform:translate(50%,50%);
          -moz-transform:translate(50%,50%);
          -ms-transform:translate(50%,50%);
        }
    

    5.最高大上的一种,使用:before元素;

    .box{ position:fixed;
          display:block;
          background:rgba(0,0,0,.5);
        }
    .box:before{ content:'';
                 display:inline-block;
                 vertical-align:middle;
                 height:100%;
               }
    .box.content{ width:60px;
                  height:60px;
                  line-height:60px;
                  color:red;
                }
    

    6.Flex布局;

    .box{ display: -webkit-box;
          display: -webkit-flex;
          display: -moz-box;
          display: -moz-flex;
          display: -ms-flexbox;
          display: flex; 
    水平居中
          -webkit-box-align: center;
          -moz-box-align: center;
          -ms-flex-pack:center;
          -webkit-justify-content: center;
          -moz-justify-content: center;
          justify-content: center;
     垂直居中
          -webkit-box-pack: center;
          -moz-box-pack: center;
          -ms-flex-align:center;
          -webkit-align-items: center;
          -moz-align-items: center;
          align-items: center;
        }
    

    相关文章

      网友评论

          本文标题:CSS的垂直居中和水平居中总结

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