overflow:hidden不是隐藏元素吗

overflow:hidden不是隐藏元素吗

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

div是父元素 给overflow:hidden是可以清除浮动

p元素应该不用给overflow:hidden才对呀 还有给了overflow:hidden为什么没有隐藏元素

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

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

4回答
好帮手慕慕子 2019-09-12 11:19:41

同学你好, 这是一种特殊的现象, 父子元素, 父元素中没有创建bfc的时候,会出现margin塌陷的问题, 第一个子元素的margin-top和最后一个子元素的margin-bottom值会传递给父级。

可以在父元素上下分别添加一个div测试效果

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

效果图如下所示, 父元素与其他元素之间有间距哦

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

希望能够帮助到你, 祝学习愉快·~~~

好帮手慕慕子 2019-09-12 10:06:15

同学你好, bfc是一个相对比较抽象的概念, 可以参考如下示例理解

  1. 首先我们要了解如何创建一个bfc

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

  2. 然后, 我们需要了解, 创建bfc之后的作用有哪些

    (1)清除浮动元素带来的影响

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





    效果图如下所示, 清除了父元素的高度塌陷http://img1.sycdn.imooc.com//climg/5d79a6010986a0b719200120.jpg

    (2)避免元素外边距发生重叠


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

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

  3. 使用BFC避免文字环绕, 就像老师这里讲的给p元素设置overflow:hidden;会形成一个独立的bfc模块, 如下图所示, 正常情况下文字会环绕着图片显示, 设置bfc后就可以避免文字环绕了

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


综上所述, 设置bfc最后造成的影响, 可以理解为bfc规则就是这样的, 以后在代码练习过程中根据实现的效果慢慢积累总结就好了

希望能够帮助到你, 祝学习愉快~~~

  • 提问者 JJJustin #1
    老师,第二个例子 我不设置overflow:hidden 为什么第一个p元素margin-top 和最后一个p元素margin-bottom没效
    2019-09-12 10:21:48
好帮手慕言 2019-09-11 19:10:05

同学你好,这也是和bfc有关系。

左侧有内容之后,p标签就会从图片后方进行排列,也就是第一次回答中的第二张图片

关于这部分的内容还是比较抽象的,同学可以作为一个了解

如果帮助到了你,欢迎采纳~祝学习愉快~

  • 提问者 JJJustin #1
    我感觉bfc没讲清楚呀
    2019-09-11 19:13:43
好帮手慕言 2019-09-11 17:26:53

同学你好,overflow: hidden;可以清除浮动,也可以在内容超出父级时进行隐藏。

1、给p标签添加overflow: hidden;的作用可以看下方的图解。

没有添加之前:
http://img1.sycdn.imooc.com//climg/5d78bd1b09bf481111840156.jpg

添加之后:
http://img1.sycdn.imooc.com//climg/5d78bd48090959cd11970254.jpg

2、给元素添加overflow: hidden;内容没有被隐藏是因为子元素没有溢出父级。

如果给父级设置宽高之后,就可以看到效果了。

代码如下:
http://img1.sycdn.imooc.com//climg/5d78bdb109a1763f04650172.jpg

页面效果:

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

如果帮助到了你,欢迎采纳~祝学习愉快~

  • 提问者 JJJustin #1
    老师,container设置overflow:hidden清除了浮动,这个我懂 我是想知道为什么p元素设置overflow:hidden就不占据一行了呢 什么原理
    2019-09-11 17:37:14
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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