鍍金池/ 問答/HTML5  HTML/ 為什么觸發(fā)bfc后,原本不能包裹子元素的父元素就可以包裹子元素了呢

為什么觸發(fā)bfc后,原本不能包裹子元素的父元素就可以包裹子元素了呢

如題

里面是一個什么原理呢。能夠請大佬說一下嗎?

當(dāng)父div沒設(shè)置高度的時候,子div都設(shè)置float,為何使用overflow;hidden;等可以觸發(fā)BFC規(guī)則的條件,都能包裹住子div。這是為啥?原理是啥。QWQ

回答
編輯回答
我甘愿

BFC的特點之一就是計算高度的時候會計算內(nèi)部的float元素

2018年2月17日 14:38
編輯回答
檸檬藍(lán)

原理就是因為BFC存在這樣一種特點。

2017年9月2日 19:29
編輯回答
風(fēng)畔

原理有兩個:

  1. overflow 不為 visible 觸發(fā)新 BFC(除非 overflow 傳播到 viewport)https://www.w3.org/TR/CSS22/v...
  2. BFC root 高度計算會包裹內(nèi)部 float 高度 https://www.w3.org/TR/CSS22/v...
2018年2月26日 03:03
編輯回答
疚幼

這個還真不好解釋,BFC具有包裹性,一些屬性會觸發(fā)形成bfc,好像沒有標(biāo)準(zhǔn)的定義,只知道它有這么一些特性,至于為什么會這樣,只有去扒css引擎的源碼才能知道了。

2018年1月3日 23:26