zoukankan      html  css  js  c++  java
  • CSS如何实现居中

    一般来说:居中有水平居中,垂直居中,完全居中

    水平居中:

    1、text-align:center;使内容水平居中

    2、margin:0 auto;使块级元素水平居中

    垂直居中:

    1、line-height方法

    试用于单行文本垂直居中

    主要代码:

    css:

    .box{
    200px;
    height:100px;
    line-height: 100px;/*行高要与自身高度一致才能垂直居中*/
    }

    html:

     <div class="box">
    <p>line-height</p>
    </div>

    使图片或inline-block元素垂直居中

    前提是外层的line-hight需要和高度一致,同时为图片或inline-block元素设置 vertical-align: middle;

    css:

    .box {
    line-height: 500px;
    height:500px;
    }

    .box img {
    vertical-align: middle;}

    html:

    <div class="box">
    <img src="img.png" alt="" />
    </div>

    2、使用table方法

    使高度可变元素的居中

       css:

    .parent {display: table;}
    .child {
    display: table-cell;
    vertical-align: middle;
    }
    html:
    <div  class="parent">
    <div class="child">table-cell</div>
    </div>

    效果图:

    3、使用绝对定位方法

    绝对定位+margin负值

    css:

    .parent { position:relative;  }

    html:
    .child {
    position:absolute;
    height:50px;
    top:50%;
    margin-top:-25px;
    }

    绝对定位实现垂直居中的第二种方法:

    css

    .parent {  position:relative;  }
    .child {
    position:absolute;
    top:0;
    bottom: 0;
    margin:auto 0;//这里设置了一个上下居中
    }

    html:

    <div class="parent">
        <div class="child">position:absolute;同时要设置一个相应的margin:auto 0;</div>
    </div>


    完全居中 = 水平居中 + 垂直居中

    以下罗列两个:

    1、line-height方法+text-align:center;

    css:

    .box{
    text-align:center;
    500px;
    height:100px;
    line-height: 100px;/*行高要与自身高度一致才能垂直居中*/
    }

    html:

     <div class="box">
    <p> line-height +text-align:center实现完全居中</p>
     </div>

    2、使用绝对定位
    css
     .parent{ position:relative; }
    .child{
    position:absolute;
    top:0;
    bottom: 0;
    left:0;
    right: 0;
    margin:auto;//同时设置上下左右居中
    }
    html:
    <div class="parent">
    <div class="child"></div>
    </div>



    ps:使用css3 transform使得完全居中(但是不建议使用)
    css
    .parent{  position:relative;  }
    .child{
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    }
    html
    <div class="parent">
    <div class="child"></div>
    </div>

    同样也能完全居中,在使用transform的时候,需要加上浏览器前缀:谷歌-webkit-transform,火狐-moz-transform

    
    






    
    
  • 相关阅读:
    20165101刘天野 2017-2018-2 《Java程序设计》 结对编程练习_四则运算(第一周)
    20165101刘天野 2017-2018-2 《Java程序设计》第6周学习总结
    20165101 实验一 Java开发环境的熟悉
    20165101刘天野 2017-2018-2 《Java程序设计》第5周学习总结
    HTML——meta
    CSS——改变浏览器滚动条样式
    HTML5——移动端的点击、拖拽
    JS高级——弹出框的美化
    JS高级——监听浏览器的返回事件
    JS高级——文件操作
  • 原文地址:https://www.cnblogs.com/hy-sunny/p/5608113.html
Copyright © 2011-2022 走看看