찾다
웹 프론트엔드CSS 튜토리얼CSS2.1의 보이지 않는 오버플로는 어떻게 블록 서식 컨텍스트를 생성하고 레이아웃에 영향을 줍니까?

How Does Non-Visible Overflow in CSS2.1 Create Block Formatting Contexts and Affect Layout?

CSS2.1의 오버플로 동작: 새로운 블록 형식 지정 컨텍스트 설정

CSS2.1에서 사양은 다음 이외의 오버플로 값을 요구합니다. "visible"은 새로운 블록 형식화 컨텍스트(BFC)를 설정합니다. 이 결정은 겉보기에는 관련이 없어 보이는 두 가지 기능인 BFC 생성과 오버플로 은폐를 병합한 이유에 대한 의문을 제기했습니다.

눈에 보이지 않는 오버플로가 있는 BFC 설정의 이론적 근거

기본 이 동작의 이유는 특정 시나리오에서 원활한 스크롤을 보장해야 하기 때문입니다. 콘텐츠가 넘쳐나는 컨테이너가 스크롤 가능한 경우, 플로트가 해당 콘텐츠와 교차하도록 허용하려면 사용자가 스크롤할 때 브라우저가 플로트 주변의 콘텐츠를 지속적으로 다시 래핑해야 합니다. 이 다시 래핑 프로세스는 스크롤 성능에 큰 영향을 미칩니다.

눈에 보이지 않는 오버플로가 레이아웃에 미치는 영향

눈에 보이지 않는 오버플로가 있는 요소가 BFC를 설정하면 전체 요소 동일한 블록 형식화 컨텍스트에서 부동 요소를 위한 자리를 마련하기 위해 옆으로 밀려납니다. 이 동작은 요소의 테두리 상자가 부동 소수점의 여백 상자와 겹치는 것을 방지하여 적절한 레이아웃을 보장합니다.

높이가 있는 요소 늘이기: 자동 및 보이지 않는 오버플로

CSS2.1에서는 height: auto가 있는 요소와 보이지 않는 오버플로가 해당 플로트의 높이와 일치하도록 수직으로 늘어나는 추가 변경 사항이 도입되었습니다. 이러한 변경을 통해 해당 요소는 클리핑 없이 플로팅 콘텐츠를 완전히 포함할 수 있습니다.

오버플로 동작에 대한 예외

보이지 않는 오버플로가 있는 새 BFC를 설정하는 일반 규칙에도 불구하고 , 예외가 있습니다:

  • 요소의 높이가 고정된 경우 플로트가 컨테이너에 잘립니다. 요소는 늘어나지 않습니다.
  • 요소에 clear: left 또는clear: 둘 다 적용되면 눈에 보이지 않는 오버플로가 있는지 여부에 관계없이 수직으로 푸시됩니다.

결론

CSS2.1에서 보이지 않는 오버플로 값을 사용하여 새로운 블록 형식 지정 컨텍스트를 설정하기로 한 결정은 주로 스크롤 성능을 향상하고 플로트가 있는 경우 일관된 레이아웃을 보장해야 하는 필요성에 따라 만들어졌습니다. 이 동작은 height: auto 및 non-visible 오버플로가 있는 요소에 대한 추가 변경과 함께 더욱 강력하고 예측 가능한 레이아웃 모델을 제공합니다.

위 내용은 CSS2.1의 보이지 않는 오버플로는 어떻게 블록 서식 컨텍스트를 생성하고 레이아웃에 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
불가능한 문제 해결불가능한 문제 해결May 15, 2025 am 10:32 AM

당신이 결코 생각하지 못한 다른 것으로 판명되는 불가능한 문제 중 하나를 문제 해결하는 것이 어떻게 보이는지.

@keyframes vs CSS 전환 : 차이점은 무엇입니까?@keyframes vs CSS 전환 : 차이점은 무엇입니까?May 14, 2025 am 12:01 AM

@keyframesandcsstransitionsdifferincomplexity :@keyframesallowsfordeTailEdanimationsections, whilecsStransitsimplestateChanges.UsecsStransitionSforHovereffects likeToncolorChanges 및@keyframesforintricateanimationspinners.

정적 사이트 컨텐츠 관리에 페이지 CMS 사용정적 사이트 컨텐츠 관리에 페이지 CMS 사용May 13, 2025 am 09:24 AM

알고 있습니다. 컨텐츠 관리 시스템 옵션이 수많은 톤을 사용할 수 있으며, 여러 번 테스트했지만 실제로는 아무도 없었습니다. y ' 이상한 가격 책정 모델, 어려운 커스터마이즈, 일부는 전체가되었습니다.

HTML의 CSS 파일 연결에 대한 궁극적 인 안내서HTML의 CSS 파일 연결에 대한 궁극적 인 안내서May 13, 2025 am 12:02 AM

HTML의 일부에서 요소를 사용하여 CSS 파일을 HTML에 연결하면 달성 할 수 있습니다. 1) 태그를 사용하여 로컬 CSS 파일을 연결하십시오. 2) 여러 개의 태그를 추가하여 여러 CSS 파일을 구현할 수 있습니다. 3) 외부 CSS 파일은 다음과 같은 절대 URL 링크를 사용합니다. 4) 파일 경로 및 CSS 파일로드 순서의 올바른 사용을 확인하고 성능을 최적화하면 CSS Preprocessor를 사용하여 파일을 병합 할 수 있습니다.

CSS Flexbox vs Grid : 포괄적 인 검토CSS Flexbox vs Grid : 포괄적 인 검토May 12, 2025 am 12:01 AM

Flexbox 또는 그리드 선택은 레이아웃 요구 사항에 따라 다릅니다. 1) Flexbox는 탐색 표시 줄과 같은 1 차원 레이아웃에 적합합니다. 2) 그리드는 매거진 레이아웃과 같은 2 차원 레이아웃에 적합합니다. 두 사람은 프로젝트에 사용하여 레이아웃 효과를 향상시킬 수 있습니다.

CSS 파일 포함 방법 : 방법 및 모범 사례CSS 파일 포함 방법 : 방법 및 모범 사례May 11, 2025 am 12:02 AM

CSS 파일을 포함시키는 가장 좋은 방법은 태그를 사용하여 HTML 부분에 외부 CSS 파일을 소개하는 것입니다. 1. 태그를 사용하여 외부 CSS 파일을 소개합니다. 2. 작은 조정의 경우 인라인 CSS를 사용할 수 있지만주의해서 사용해야합니다. 3. 대규모 프로젝트는 SASS와 같은 CSS 전 처리기를 사용하여 @Import를 통해 다른 CSS 파일을 가져올 수 있습니다. 4. 성능의 경우 CSS 파일을 병합하고 CDN을 사용해야하고 CSSNANO와 같은 도구를 사용하여 압축해야합니다.

Flexbox vs Grid : 둘 다 배워야합니까?Flexbox vs Grid : 둘 다 배워야합니까?May 10, 2025 am 12:01 AM

예, YoushouldLearnbothflexBoxAndgrid.1) FlexBoxisIdealforone-Dimensional, FlexiblelayoutSlikenavigationMenus.2) GridexCelsIntwo-Dimensional, ComplexDesignsSuchasmagazinElayouts.3) 결합 된 BothenSlayoutFlexibility 및 HeartingFortructur

궤도 역학 (또는 CSS 키 프레임 애니메이션을 최적화하는 방법)궤도 역학 (또는 CSS 키 프레임 애니메이션을 최적화하는 방법)May 09, 2025 am 09:57 AM

자신의 코드를 리팩터링하는 것은 어떤 모습입니까? John Rhea는 자신이 쓴 오래된 CSS 애니메이션을 선택하고 최적화하는 사고 과정을 살펴 봅니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.