javascript - 關于使用overflow: hidden來清除浮動的疑問
問題描述
正常情況下,給浮動的父元素設置overflow:hidden;就可以清楚浮動,但是我發現被浮動元素的父元素是body時,給body設置overflow:hidden,是無法清除浮動的,有人說是body不屬于普通流,所以無效,有誰能解釋下嗎?
感謝:CRIMX借用王大陸的一句話:
你這種人不是大神,就是走在成為大神的路上。
問題解答
回答1:這是因為并沒有產生新的 BFC
產生新 BFC 的一個條件:
Block-level, non-replaced elements in normal flow when ’overflow’ does not compute to ’visible’ (except if the ’overflow’ property’s value has been propagated to the viewport).
為什么對 <body> 設置 overflow 會擴散到 viewport:
UAs must apply the ’overflow’ property set on the root element to the viewport. When the root element is an HTML 'HTML' element or an XHTML 'html' element, and that element has an HTML 'BODY' element or an XHTML 'body' element as a child, user agents must instead apply the ’overflow’ property from the first such child element to the viewport, if the value on the root element is ’visible’. The ’visible’ value when used for the viewport must be interpreted as ’auto’. The element from which the value is propagated must have a used value for ’overflow’ of ’visible’.
相關文章:
1. docker內創建jenkins訪問另一個容器下的服務器問題2. 如何解決Centos下Docker服務啟動無響應,且輸入docker命令無響應?3. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?4. javascript - js閉包作用域5. 極光推送 - Android app消息推送 百度 極光 個推 信鴿哪個好一些?6. html5 - 百度echart官網下載的地圖json數據亂碼7. css3 - 學習css構建圖形時,遇到一個很有意思的現象,具體代碼如下8. html - css 使用字體的時候,格式有什么特殊要求嗎?9. 微信開放平臺 - android 微信支付后點完成按鈕,后回調打開第三方頁面,屏幕閃動,求解決方法10. javascript - echart+百度地圖
