• 让一个元素垂直水平居中的四种方法


    第一种方法:

    div.box{

    weight:200px;

    height:400px;

    <!--把元素变成定位元素-->

    position:absolute;

    <!--设置元素的定位位置,距离上、左都为50%-->

    left:50%;

    top:50%;

    <!--设置元素的左外边距、上外边距为宽高的负1/2-->

    margin-left:-100px;

    margin-top:-200px;

    }

    *兼容性好;缺点:必须知道元素的宽高

    -------------

    第二种方法:

    div.box{

    weight:200px;

    height:400px;

    <!--把元素变成定位元素-->

    position:absolute;

    <!--设置元素的定位位置,距离上、左都为50%-->

    left:50%;

    top:50%;

    <!--设置元素的相对于自身的偏移度为负50%(也就是元素自身尺寸的一半)-->

    transform:translate(-50%,-50%);

    }

    *这是css3里的样式;缺点:兼容性不好,只支持IE9+的浏览器

    ---------------

    第三种方法

    div.box{

    weight:200px;

    height:400px;

    <!--把元素变成定位元素-->

    position:absolute;

    <!--设置元素的定位位置,距离上、下、左、右都为0-->

    left:0;

    right:0;

    top:0;

    bottom:0;

    <!--设置元素的margin样式值为 auto-->

    margin:auto;

    }

    *兼容性较好,缺点:不支持IE7以下的浏览器

    第四种方法

    场景: 一个块状元素A内 有若干个块状元素B,要达到的效果是 ,所有块状元素B 在 元素A 内水平居中显示。

    <div class="A">

      <div class="B"></div>

      <div class="B"></div>

      <div class="B"></div>

    </div>

    首先,我们要设置元素A的大小为500px,设置背景色为green方便查看

    .A{

      500px;

      backgrond-color:green;

    然后, 设置所有元素B 的宽度为100px,高度为100px,外边据都为5px,背景色为#000方便查看

    .B{

      100px;

      height:100px;

      magin:5PX;

      backgrond-color:green;

    当然现在的效果应该是这样的

    我们要做的就是,先把所有元素B设置为行内块元素,让他们都排成一行, display:inline-block;

    最后就是让所有的元素B居中了, 到这里,相信很多人就猜到下一步要做什么了,我锦上添花,解释一下。

    先想一想,如果是行内元素, 我们一般让它怎么居中呢?答:当然是给它的父容器加一个text-align:center的样式。

    这里我们已经把所有的元素B变成了行内块, 也就有了行内元素的特性,所以,我们下一步要做的就是给元素A加text-align:center,

    这样我们的目的就达到了,请看效果:

    完美!

     *兼容性较好,父元素和子元素的宽度都要已知

  • 相关阅读:
    线性回归(linear regression)之监督学习
    hadoop学习笔记之倒排索引
    Java学习笔记之==与equals
    Java学习笔记之深入理解引用
    mysql
    mysql
    JAVA
    nio
    JVM
    java
  • 原文地址:https://www.cnblogs.com/fightjianxian/p/9995754.html
Copyright © 2020-2023  润新知