• 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

    
    






    
    
  • 相关阅读:
    【重构-改善既有代码的设计0】读书笔记
    【代码大全0】读书笔记
    【Mood-10】每个程序员都应该读的30本书
    【Android Studio使用教程3】Android Studio的一些设置 体验更好了
    【Android Studio使用教程2】Android Studio创建项目
    【Android Studio使用教程1】Android Studio导入项目的几种方法
    【AsyncTask整理 2】 AsyncTask方法代码演示
    【AsyncTask整理 1】 AsyncTask几点要注意的地方
    【Android 界面效果42】如何自定义字体
    Creating an Android Project(创建一个android项目)
  • 原文地址:https://www.cnblogs.com/hy-sunny/p/5608113.html
Copyright © 2020-2023  润新知