“子绝父相”子标签应该是脱离文档流了啊,怎么父容器的overflow:hidden可以隐藏子元素?

来源:2-9 自由编程

行健同学

2020-11-11 12:05:09

# 具体遇到的问题

# 报错信息的截图
父容器div设置好宽、高,相对定位和overflow:hidden;子元素div.info设置了绝对定位,并让它在父元素之下,按我理解,子元素脱离了文档流,为什么overflow:hidden还能起作用呢?求指教。


# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

<!DOCTYPE html>

<html lang="en">


<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>过渡基本知识</title>

    <style>

        * {

            margin0;

            padding0;

        }


        div {

            width300px;

            height240px;

            margin20px auto;

            positionrelative;

            /* background-color: violet; */

            overflowhidden;

        }


        div img {

            background-coloryellow;

            displayblock;

            width300px;

            height240px;

            

        }

        

        div .info {

            padding-left20px;

            margin0;

            width280px;

            height40px;

            line-height40px;

            background-colorrgba(0000.5);

            colorwhite;

            positionabsolute;

            bottom-40px;

            left0px;

            transitionbottom 0.5s ease 0s;

        }

        div:hover .info { bottom0px;}

    </style>

</head>


<body>

    <div>

        <img src="images/duck.png" alt="小黄鸭">

        <div class="info">这是一只小黄鸭</div>

    </div>

</body>


</html>


写回答

1回答

好帮手慕慕子

2020-11-11

同学你好,代码实现是正确的,针对同学的问题解答如下:父元素设置了overflow:hidden;属性,那么只要超出了父元素区域的后代元素的内容,都会被隐藏;子元素设置绝对定位确实是脱离了文档流,但它依然是父元素下的子元素,超出了就会被隐藏。

祝学习愉快~

1

0 学习 · 15276 问题

查看课程