搜尋

首頁  >  問答  >  主體

javascript - 關於使用overflow: hidden來清除浮動的疑問

正常情況下,為浮動的父元素設定overflow:hidden;就可以清楚浮動,但是我發現被浮動元素的父元素是body時,給body設定overflow:hidden,是無法清除浮動的,有人說是body不屬於普通流,所以無效,有誰能解釋下嗎?

感謝:CRIMX
借用王大陸的一句話:

你這種人不是大神,就是走在成為大神的路上。

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

全部回覆(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
  • 取消回覆