웹 프론트엔드 CSS 튜토리얼 블록 수준 서식 컨텍스트를 만드는 방법은 무엇입니까? 블록 수준 포맷팅 컨텍스트의 역할

블록 수준 서식 컨텍스트를 만드는 방법은 무엇입니까? 블록 수준 포맷팅 컨텍스트의 역할

Aug 03, 2018 pm 05:44 PM

CSS의 블록 수준 서식 컨텍스트란 무엇입니까? 블록 서식 컨텍스트는 웹 페이지에서 CSS의 시각적 렌더링의 일부이며 블록 상자의 레이아웃을 결정하는 데 사용됩니다. Positioning Scheme에서는 Normal Flow에 속합니다. 그러면 블록 수준 서식 컨텍스트를 만드는 방법은 무엇입니까? 블록 수준 서식을 생성하기 위한 요구 사항은 무엇입니까? 이번 글에서는 하나씩 설명드리겠습니다.

FC(서식 지정 컨텍스트)는 페이지 레이아웃의 영역을 참조하는 서식 지정 컨텍스트/서식 범위로 변환되며 자체 렌더링 규칙이 있고 자체 하위 요소가 배치되는 방식 및 다른 요소와의 관계를 결정합니다. . 및 기능.

CSS 표시 분류에 따르면 xhtml 요소는 블록 요소, 인라인 요소, 가변 요소의 세 가지 유형으로 나뉩니다. 페이지 요소에 스타일을 추가할 때 요소가 어떤 유형인지 알아야 하며 그런 다음 요소 유형을 직접 변환할 수 있습니다. 인라인 요소를 블록 요소(display: block)로 변환하기 위해 display를 사용할 수 있는 것과 같습니다. img라는 특수 요소가 여러 개 있으며 입력은 기본적으로 인라인 블록입니다.

BFC(블록 서식 컨텍스트)란 무엇인가요? 특수 영역과 동일합니다.

요소가 BFC가 되기 위한 조건을 충족하면 요소는 격리된 독립 컨테이너가 되며 요소의 내부 요소는 상위 요소의 테두리를 따라 수직으로 배열되며 서로의 외부 요소에 영향을 주지 않습니다.

BFC 발동 조건은 다음과 같습니다.

1. 부동 요소, 없음 이외의 부동 값

2. 절대 위치 요소, 위치(절대, 고정)

3 표시는 다음 값 중 하나입니다. ​​인라인 블록, 테이블 셀, 테이블 캡션. //블록레벨박스가 아닌 블록컨테이너입니다

4. 보이는 것 이외의 값 오버플로(숨김, 자동, 스크롤)

위 4가지 조건 중 하나라도 만족하면 블록레벨 포맷팅 그 안에 콘텐츠가 위치한 환경은 블록 수준 포맷팅 컨텍스트의 환경입니다.

CSS3에서는 BFC를 Flow Root라고 하며 다음과 같은 몇 가지 트리거 조건이 추가됩니다.

1 디스플레이의 테이블 캡션 값

2 실제로 고정은 절대값의 하위 클래스입니다. , 따라서 CSS2.1에서 이 값을 사용하면 BFC도 트리거되지만 이는 CSS3에서 더 명확해집니다.

요소는 hasLayout을 트리거하기 위해 IE 특정 CSS 속성인 Zoom: 1을 설정합니다. 확대/축소는 요소의 확대/축소 비율을 설정하거나 검색하는 데 사용됩니다. "1" 값은 요소의 실제 크기를 사용함을 의미합니다. : 1은 hasLayout을 트리거할 수 있지만 그렇지 않습니다. 요소에 다른 효과를 적용하는 것이 상대적으로 더 편리합니다. 이것이 IE에서의 상황입니다

BFC(블록 수준 서식 지정 컨텍스트)의 역할:

(1) BFC는 여백이 접히는 것을 방지합니다

접는다는 것은 여백이 겹치는 것을 의미한다는 것을 이해합니다. 아니 네 것이 내 것이고 내 것이 네 것인 것처럼 구별이 매우 분명할 것이다.

여백 축소 규칙: 두 블록 수준 요소가 인접하고 동일한 블록 수준 서식 컨텍스트에 있는 경우에만 두 요소 사이의 수직 여백이 겹칩니다. 즉, 두 개의 블록 수준 요소가 인접하더라도 동일한 블록 수준 서식 지정 컨텍스트에 있지 않으면 여백이 축소되지 않습니다. 따라서 마진이 붕괴되는 것을 방지하면 단순히 새로운 BFC가 생성됩니다.

그러나 인접한 두 요소의 경우 쉘을 추가할 필요가 없지만 중첩된 요소에는 상위 요소를 BFC로 설정하면 됩니다. 이런 방식으로 하위 요소의 여백은 상위 요소의 여백과 함께 축소되지 않습니다.

(2) BFC는 부동 요소를 포함할 수 있습니다

이는 BFC의 하위 요소가 포함 블록을 초과하지 않는 반면 절대 위치가 있는 요소는 포함 블록의 경계를 초과할 수 있음을 의미합니다

(3) BFC는 요소가 부동 요소로 덮이는 것을 방지할 수 있습니다.

이는 각 요소의 여백 상자 왼쪽을 기반으로 하며 포함 블록 테두리 상자의 왼쪽을 터치합니다(왼쪽에서 오른쪽 형식의 경우, 그렇지 않으면 반대). 이는 float가 있는 경우에도 마찬가지입니다. 이 원리가 실현됩니다.

추천 관련 기사:

CSS > 번역: CSS_html/css_WEB-ITnose

CSS 블록 수준 서식 컨텍스트 이해 BFC

블록 수준 서식 자세한 설명 블록 형식화 컨텍스트, 부동 및 절대 위치 지정 작업 방법_html/css_WEB-ITnose

위 내용은 블록 수준 서식 컨텍스트를 만드는 방법은 무엇입니까? 블록 수준 포맷팅 컨텍스트의 역할의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

GraphQL 캐싱 작업 GraphQL 캐싱 작업 Mar 19, 2025 am 09:36 AM

최근에 GraphQL 작업을 시작했거나 장단점을 검토 한 경우 "GraphQL이 캐싱을 지원하지 않음"또는

쇼, 말하지 마십시오 쇼, 말하지 마십시오 Mar 16, 2025 am 11:49 AM

웹 사이트의 컨텐츠 프레젠테이션을 설계하는 데 얼마나 많은 시간을 소비합니까? 새 블로그 게시물을 작성하거나 새 페이지를 만들 때

Redwood.js 및 동물 군을 사용하여 이더 리움 앱 구축 Redwood.js 및 동물 군을 사용하여 이더 리움 앱 구축 Mar 28, 2025 am 09:18 AM

최근 Bitcoin의 가격이 20k 달러가 넘는 USD가 최근에 등반되면서 최근 30k를 끊었으므로 Ethereum을 만드는 데 깊이 다이빙을 할 가치가 있다고 생각했습니다.

Leakenty와 함께 자신의 Bragdoc을 만듭니다 Leakenty와 함께 자신의 Bragdoc을 만듭니다 Mar 18, 2025 am 11:23 AM

개발자로서 어느 단계에 있든, 우리가 완료 한 작업은 크든 작든, 개인적이고 전문적인 성장에 큰 영향을 미칩니다.

vue 3 vue 3 Apr 02, 2025 pm 06:32 PM

그것은#039; VUE 팀에게 그것을 끝내는 것을 축하합니다. 나는 그것이 막대한 노력과 오랜 시간이라는 것을 알고 있습니다. 모든 새로운 문서도 있습니다.

CI/CD에 약간 CI/CD에 약간 Apr 02, 2025 pm 06:21 PM

"웹 사이트"는 "모바일 앱"보다 더 잘 맞지만 Max Lynch 의이 프레임이 마음에 듭니다.

브라우저에서 유효한 CSS 속성 값을 얻을 수 있습니까? 브라우저에서 유효한 CSS 속성 값을 얻을 수 있습니까? Apr 02, 2025 pm 06:17 PM

나는 누군가이 매우 합법적 인 질문으로 글을 썼습니다. Lea는 브라우저에서 유효한 CSS 속성 자체를 얻는 방법에 대해 블로그를 작성했습니다. 이는 이와 같습니다.

특이성에 대해 이야기하기 위해 (X, X, X, X)를 사용해 보겠습니다. 특이성에 대해 이야기하기 위해 (X, X, X, X)를 사용해 보겠습니다. Mar 24, 2025 am 10:37 AM

나는 다른 날에 Eric Meyer와 대화를 나누고 있었고 나는 내 형성 시절부터 Eric Meyer 이야기를 기억했습니다. CSS 특이성에 대한 블로그 게시물을 썼습니다

See all articles