其他分享
首页 > 其他分享> > CSS(四) (盒子塌陷问题)

CSS(四) (盒子塌陷问题)

作者:互联网

文章目录

一、盒子塌陷问题

1.出现问题

有两个嵌套的DIV盒子,父盒子里面有一个子盒子,想让子盒子和父盒子上边距之间有一段间距,但是给子级元素添加的外边距没有效果,效果显示在了父级元素身上。
例如:

<body>
    <div class="father">
        <div class="son"></div>
    </div>
</body>

    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .father {
            width: 200px;
            height: 200px;
            background-color: cyan;
        }
        .son {
            margin-top: 30px;
            width: 100px;
            height: 100px;
            background-color: darkgreen;
        }
    </style>

2.解决办法

常见的解决盒子塌陷的方法有三种,如下所示:

3.具体实现

<style>
        * {
            margin: 0;
            padding: 0;
        }
        .father {
            padding-top: 30px;
            width: 200px;
            height: 200px;
            background-color: cyan;
        }
        .son {
            /* margin-top: 30px; */
            width: 100px;
            height: 100px;
            background-color: darkgreen;
        }
    </style>
 .father {
            padding-top: 30px;
            width: 200px;
            height: 170px;//200px-30px=170px
            background-color: cyan;
        }

       -2.给父盒子设置盒模型为border-box。

.father {
            padding-top: 30px;
            width: 200px;
            height: 200px;
            background-color: cyan;
            border-sizing:border-box;
        }

-二、给父级元素溢出部分添加隐藏样式overflow:hidden。

        .father {
            width: 200px;
            height: 200px;
            background-color: cyan;
            overflow: hidden;
        }

-三、给父级盒子加上边框border。

        .father {
            width: 200px;
            height: 200px;
            background-color: cyan;
            border: 1px solid black;
        }
    </style>
.father {
            width: 198px;
            height: 198px;
            background-color: cyan;
            border: 1px solid black;
            box-sizing: border-box;
        }

      -2.设置盒模型为box-sizing:border-box;

.father {
            width: 200px;
            height: 200px;
            background-color: cyan;
            border: 1px solid black;
            box-sizing: border-box;
        }

二、其他盒子塌陷问题

       前面在整理CSS盒子浮动系列还总结了由于浮动元素引起的盒子塌陷问题,主要策略是:闭合浮动。详情见
清除浮动引起的盒子高度塌陷问题解决办法

标签:盒子,30,像素,塌陷,background,border,CSS,200px
来源: https://blog.csdn.net/m0_48375854/article/details/120791132