搜索

首页  >  问答  >  正文

javascript - 关于使用overflow: hidden来清除浮动的疑问

正常情况下,给浮动的父元素设置overflow:hidden;就可以清楚浮动,但是我发现被浮动元素的父元素是body时,给body设置overflow:hidden,是无法清除浮动的,有人说是body不属于普通流,所以无效,有谁能解释下吗?

感谢:CRIMX
借用王大陆的一句话:

你这种人不是大神,就是走在成为大神的路上。

世界只因有你世界只因有你2790 天前953

全部回复(1)我来回复

  • 为情所困

    为情所困2017-05-16 13:38:43

    这是因为并没有产生新的 BFC

    产生新的BFC 的一个条件:

    当“溢出”未计算为“可见”时,正常流程中的块级非替换元素(除非“溢出”属性的值已传播到视口).

    为什么对<body> 设置 overflow会扩散到视口:

    UA 必须将根元素上设置的“overflow”属性应用到视口。当根元素是 HTML“HTML”元素或 XHTML“html”元素,并且该元素具有 HTML“BODY”元素或 XHTML“body”元素作为子元素时,用户代理必须改为应用“溢出” ' 属性从第一个这样的子元素到视口,如果根元素上的值为“visible”。用于视口的“visible”值必须解释为“auto”。传播值的元素必须具有“visible”的“overflow”使用值。

    回复
    0
  • 取消回复