zoukankan      html  css  js  c++  java
  • CSS盒子居中的常用的几种方法

    第一种:

    用css的position属性

        <style type="text/css">
            .div1 {
                width: 100px;
                height: 100px;
                border: 1px solid #000000;
                position: relative;
            }
    
            .div2 {
                width: 40px;
                height: 40px;
                background-color: red;
                position: absolute;
                margin: auto;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
            }
        </style>
    
        <div class="div1">
            <div class="div2 ">
            </div>
        </div>

    效果图:

    第二种:

    利用css3的新增属性table-cell, vertical-align:middle;

        <style type="text/css">
            .div1 {
                width: 100px;
                height: 100px;
                border: 1px solid #000000;
                display: table-cell;
                vertical-align: middle;
            }
    
            .div2 {
                width: 40px;
                height: 40px;
                background-color: red;
                margin: auto;
            }
    
        </style>
    
        <div class="div1">
            <div class="div2">
            </div>
        </div>

    效果:

    第三种:

    利用flexbox布局

    <style type="text/css">
        .div1 {
            width: 100px;
            height: 100px;
            border: 1px solid #000000;
            display: flex;
            /*!*flex-direction: column;*!可写可不写*/
            justify-content: center;
            align-items: center;
        }
    
        .div2 {
            height: 40px;
            width: 40px;
            background-color: red;
        }
    </style>
    <div class="div1 ">
        <div class="div2 ">
        </div>
    </div>

    效果:

    第四种:

    利用transform的属性(缺点:需要支持Html5)

    <style type="text/css">
        .div1 {
            width: 100px;
            height: 100px;
            border: 1px solid #000000;
            position: relative;
        }
    
        .div2 {
            height: 40px;
            width: 40px;
            background-color: red;
            position: absolute;
            top: 50%;
            left: 50%;
            -ms-transform: translate(-50%, -50%);
            -moz-transform: translate(-50%, -50%);
            -o-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
        }
    </style>
    <div class="div1 ">
        <div class="div2 ">
        </div>
    </div>

    效果图:

  • 相关阅读:
    PSP编程
    题库软件1.0发布
    ubuntu上安装netgear wg511v2驱动
    boost的编译
    Plot3D 0.3发布
    立体画板Plot3D
    求教团队内的朋友,在directx中,如何画虚线?
    OpenGL如何显示文本?
    JZ028数组中出现次数超过一半的数字
    JZ027字符串的排列
  • 原文地址:https://www.cnblogs.com/lwming/p/10934425.html
Copyright © 2011-2022 走看看