zoukankan      html  css  js  c++  java
  • CSS居中布局总结【转】

    居中布局

    <div class=”parent”>

      <div class=”child”>demo</div>

    </div>

    1.水平居中

        1>     方案一 inlink-block+text-align

                 .child {display:inlink-block;}

                 .parent {text-align:center;}

                 优点:兼容性好

                 缺点:子元素宽高不可设置

        2>     方案二 table+margin

                 .child {display:table; margin:0 auto;}

                 优点:只需要设置child(自己)

        3>     方案三 absolute+transform

                 .parent {position:relative;}

                 .child {position:absolute;left:50%;transform:translateX(-50%);}

                 优点:子元素不会对其他元素产生影响

                 缺点:兼容性问题

        4>     方案四 flex+justify-content

                 .parent {display:flex;justify-content:center;}

                 优点:只需设置parent节点

                 或者设置为

                 .parent {display:flex;}

                 .child {margin:0 auto;}

                 缺点:flex低版本ie不支持

    2.垂直居中

        1>     方案一 table-cell+vertical-align

                 .parent {display:table-cell;vertical-align:middle;}

                 优点:只需设置父节点,兼容性好

        2>     方案二 absolute+transform

                 .parent {position:relative;}

                 .child {position:absolute;top:50%;transform:translateY(-50%);}

                 优点:子元素不会对其他元素产生影响

                 缺点:兼容性问题

        3>     方案三 flex+align-items

                 .parent {display:flex;align-items:center;}

                 优点:只需设置父节点

                 缺点:兼容性问题

    3.水平和垂直均居中

         1>     方案一 inline-block+text-align+table-cell+vertical-align

                  .parent {text-align:center;display:table-cell;vertical-align:middle;}

                  .child {display:inline-block;}

         2>     方案二 absolute+transform

                  .parent {position:relative;}

                  .child { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}

         3>     方案三 flex+justify-content+align-items

                  .parent {display:flex;justify-content:center;align-items:center;}

    思路:了解属性值特性,分解问题。

    转载自:http://www.cnblogs.com/xiaohangzi/p/6090995.html

  • 相关阅读:
    jquery 查找 新建元素
    sphinx中,直接取主键ID
    把一个文件夹下的多个csv文件合并到一个excel的多个sheet
    学习XOR
    数据结构C++,线性表的实现(数组方式)
    确定主机字节序
    TCP打开文件传输(客户端code)
    使用两个管道的客户服务器模型
    数据结构C++,栈的实现
    TCP打开文件传输(服务器端并发code)
  • 原文地址:https://www.cnblogs.com/zhao-bo/p/6091128.html
Copyright © 2011-2022 走看看