일반적으로 float의 상위 요소에 Overflow:hidden을 설정하면 float를 지울 수 있지만, float 요소의 상위 요소가 본문인 경우에는 float를 지울 수 없다는 것을 발견했습니다. 사람들은 몸은 보통의 흐름에 속하지 않는다라고 하는데, 누가 설명할 수 있나요?
'오버플로'가 '가시'로 계산되지 않을 때 일반 흐름의 블록 수준, 대체되지 않은 요소 ('오버플로' 속성의 값이 뷰포트에 전파된 경우 제외).
为什么对 <body> 设置 overflow 会扩散到 뷰포트:
UA는 루트 요소에 설정된 '오버플로' 속성을 뷰포트에 적용해야 합니다. 루트 요소가 HTML "HTML" 요소 또는 XHTML "html" 요소이고 해당 요소가 HTML "BODY" 요소 또는 XHTML "body" 요소를 하위 요소로 갖는 경우, 사용자 에이전트는 대신 'overflow'를 적용해야 합니다. ' 루트 요소의 값이 'visible'인 경우 첫 번째 하위 요소에서 뷰포트로의 속성입니다. 뷰포트에 사용될 때 'visible' 값은 'auto'로 해석되어야 합니다. 값이 전파되는 요소에는 'visible'의 'overflow'에 사용된 값이 있어야 합니다.
这是因为并没有产生 새로운 BFC
产生새로운 BFC의 一个条件:
为什么对
<body>
设置overflow
会扩散到 뷰포트: