• margin-top塌陷问题


    margin-top塌陷是怎么回事呢?

    两个盒子嵌套的时候,内部盒子的margin-top会加到外面的盒子上面,导致盒子的margin-top塌陷。这是一个系统级别的bug.

    解决的办法有:

    1.给盒子加上一个边框,缺点是盒子会有一个边框影响美观

    2.外部盒子设置overflow:hidden;缺点是当盒子里面的元素溢出的时候,会裁剪掉盒子里面的内容。

    3.使用伪元素方法(最优的方法):这个方法的原理至今没弄懂,为啥加上一个伪元素和一个display:table就可以解决了呢???

    .clearfix:before{

      content:"";

      display:table;

    }

    代码如下:

    <!DOCTYPE html>
    <html>
    <head>
    <title>margin特性</title>
    <style type="text/css">
    .con{
    300px;
    height: 200px;
    background-color: gold;
    /*设置盒子居中的方法:padding或者margin
    100px;
    height: 100px;
    padding: 50px 100px;*/

    /*利用margin来居中会出现margin-top塌陷的问题;解决margin-top塌陷的方法一:加外边框;但是会加上一个边框
    298px;
    height: 198px;
    background-color: gold;
    border:1px solid red;*/

    /*解决margin-top塌陷第二种方法
    overflow: hidden;*/
    }

    .box{
    100px;
    height: 100px;
    background-color: green;
    margin:50px 100px;
    }

    .clearfix:before{
    content: "";
    display: table;
    }
    </style>
    </head>
    <body>
    <div class="con clearfix">
    <div class="box"></div>
    </div>
    </body>
    </html>

  • 相关阅读:
    mysql免安装使用(win7 64位系统)
    [NOIP2011]瑞士轮
    [NOIP2011]数的划分
    [洛谷2994]超级弹珠
    并查集
    [codevs1073]家族
    快速幂
    [NOI2002]银河英雄传说
    [NOIP2007]矩阵取数游戏
    [洛谷2415]集合求和
  • 原文地址:https://www.cnblogs.com/pengwa1226/p/12286299.html
Copyright © 2020-2023  润新知