老师,这样为什么也可以

老师,这样为什么也可以

我同事说这是父级拖拽,我没搞懂,也能实现这个,这个overflow是干啥用的

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Document</title>

    <style>

        /*完善下列代码*/

        .per{

            width: 300px;

            height: 300px;

            background: red;

            margin-left:200px;

            margin-top: 200px;

            overflow: hidden;

        }


        .son{

            width: 100px;

            height: 100px;

            background: blue;

            margin: 100px auto;

        } 

    </style>

</head>

<body>

<div class="per">

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

</div>

</body>

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕夭夭 2019-07-17 15:18:00

你好同学,这里有一个特殊的现象,即子元素设置上边距,父元素在不设置border或者padding-top的时候,就会跟着子元素一起下落,此时子元素与父元素的间距重叠了。给父元素设置 overflow: hidden;可以清除间距重叠的现象哦。这个特殊记着。

http://img1.sycdn.imooc.com//climg/5d2ecabe00016d5505270377.jpg

另外,如果不设置 overflow: hidden;,父元素设置border或者padding-top也可以解决间距重叠的问题,如下:

http://img1.sycdn.imooc.com//climg/5d2ecb9d00019e6516120689.jpg

祝学习愉快,望采纳。

好帮手慕夭夭 2019-07-17 14:12:46

你好同学,margin:0 auto是可以实现一个盒子在父容器中水平居中的。代码中设置了 margin: 100px auto;可以实现水平居中。

并且上下间距设置为100px,因为父容器高度为300px,子元素高度100px,这样子元素高度加上下间距恰好是父元素高度,也就实现了垂直居中哦,参考如下理解

http://img1.sycdn.imooc.com//climg/5d2ebb4c00014e7005230399.jpg

代码很灵活,实现居中的方式不是唯一的。不过这个方法不推荐使用,例如父容器高度变大了,那么上下间距就要重新计算,否则盒子就没办法居中,如下:

http://img1.sycdn.imooc.com//climg/5d2ebbe500010e6205120452.jpg

上节课程中有讲解过居中的方式,建议同学复习一下课程,按照课程中的方式进行练习。

http://img1.sycdn.imooc.com//climg/5d2ebc490001cac713160737.jpg

overflow: hidden;在这里可以清除间距重叠的现象,这样防止子元素设置间距会父元素会跟着跑下去。祝学习愉快,望采纳。

  • 提问者 xchengguang #1
    但这个方法如果父元素不加overflow hidden 就不垂直居中了 为什么呢
    2019-07-17 14:16:14
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师