zoukankan      html  css  js  c++  java
  • 居中(纯css方式)

     参考文章:
    http://blog.csdn.net/freshlover/article/details/11579669
    http://blog.163.com/hongshaoguoguo@126/blog/static/1804698120135156225265/
    http://blog.163.com/ranma2151920@126/blog/static/9502770620137522326362/

    水平垂直居中:

    1.display为table-cell

    父 — 子 (居中元素)

    父为display : table-cell,同时vertical-align : middle,(垂直居中); 子元素设置margin:auto;(水平居中)

    <div id = "div1">
      <div id = "div2"></div>
    </div>

    #div1 {
    width : 300px;
    height : 300px;
    display : table-cell;  //这句是关键
    vertical-align : middle; //垂直居中
    border : 1px solid red;
    }
    #div2 {
    background : blue;
    100px;
    height : 100px;
    margin:0px auto;   //这句很重要,水平居中。
    }

    2.神奇的margin:auto;

    #div1 {
        position : relative;
        width : 300px;
        height :300px;
        border : 1px solid red;
        }
    #div2 {
       100px;
      height: 100px;
      margin: auto;
      position: absolute;   //相对于父元素定位
      top: 0; 
    left: 0;
    bottom: 0;
    right: 0; background : blue; }

    3.css3中的transform中的translate平移属性,

    先相对于文档流中的位置,设置top和left各自50%,在用translate在x轴和y轴上各自向反方向移动自身宽度和高度的50%(一半)

    #div1 {
        width : 300px;
        height :300px;
        border : 1px solid red;
        }
    #div2 {
         100px;
        height : 100px;
        position: relative;  //相对于文档流中的位置
        top: 50%;    //这个是相对于定位的元素的,top值 = 50% * 父元素的高度  left: 50%;    //left值 = 50 % * 父元素的宽度
    left : 50%;
    -webkit-transform: translate(-50%,-50%); //这个50%是相对于自身(div2)的,
    -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%); background : blue; }

    总结:三种,一种是父元素设为display为table-cell,并设置vertical-align : middle,子元素为margin : 0px auto;

    父为table-cell / vertical-align:middle + 子元素margin : auto;

    第二种是(绝对定位居中):利用定位来的+margin:auto,子元素相对于父元素定位,父元素display设为不为static,子元素display为absolute,同时在子元素上设置margin:auto,还需要设置top/left/right/bottom都设为0px;

    相对于父元素绝对定位+left/right/top/bottom均为0 + margin:auto;

    第三种是transform中的translate,子元素relative ,设置top和left都是50%,然后tranform:translate(-50%,-50%);

    相对定位 + top/left:50% + translate(-50%,-50%)

     
  • 相关阅读:
    ORACLE 11g RAC-RAC DG Duplicate 搭建(生产操作文档)
    1.kafka是什么
    11.扩展知识-redis持久化
    10.Redis-服务器命令
    9.扩展知识-redis批量操作-事务(了解)
    8.扩展知识-多数据库(了解)
    7.Redis扩展知识-消息订阅与发布(了解)
    K8S上部署ES集群报错
    ORM 常用字段和参数
    celery的使用
  • 原文地址:https://www.cnblogs.com/shixiaomiao/p/4808646.html
Copyright © 2011-2022 走看看