웹 프론트엔드 CSS 튜토리얼 CSS 레이아웃의 서식 지정 컨텍스트(FC) 유형은 무엇입니까? 서식 지정 컨텍스트(FC) 유형 소개

CSS 레이아웃의 서식 지정 컨텍스트(FC) 유형은 무엇입니까? 서식 지정 컨텍스트(FC) 유형 소개

Aug 03, 2018 pm 04:48 PM
bfc css html html5 공들여 나열한 것

포맷컨텍스트(FC)란 무엇인가요? 서식 지정 컨텍스트(Formatting Context)는 하위 요소의 위치는 물론 하위 요소의 상호 작용 및 다른 요소와의 상호 작용을 결정하는 일련의 렌더링 규칙이 있는 페이지의 렌더링 영역을 나타냅니다. CSS 레이아웃에서? 다음 문서에서는 여러 유형의 서식 지정 컨텍스트를 소개합니다.

BFC(블록 수준 서식 컨텍스트):

BFC란 무엇인가요? 블록 수준 서식 컨텍스트인 블록 서식 컨텍스트는 독립적인 블록 수준 렌더링 영역입니다. 이 영역에는 블록 수준 상자의 레이아웃을 제한하는 일련의 렌더링 규칙이 있으며 영역 외부와는 아무 관련이 없습니다.

BFC의 제약 규칙

1 내부 BOX는 세로 방향으로 차례대로 배치됩니다. ;

2. 수직 방향의 거리는 마진으로 결정됩니다. (완전한 설명은 다음과 같습니다. 동일한 BFC에 속하는 두 개의 인접한 BOX의 여백은 방향에 관계없이 겹칩니다.)

3 각 요소의 왼쪽 여백은 의 왼쪽 여백과 동일합니다. 플로팅된 요소의 경우에도 경계는 왼쪽에서 오른쪽으로 닿습니다. (이는 BFC의 하위 요소가 포함 블록을 초과하지 않으며 절대 위치가 포함된 요소가 포함 블록의 경계를 초과할 수 있음을 보여줍니다.) BFC의 영역은 그렇지 않습니다. float 요소와 겹칩니다. Areaoverlap

5. BFC의 높이를 계산할 때 부동 하위 요소도 계산에 참여합니다.

6. 페이지의 하위 요소는 외부 요소에 영향을 주지 않으며 그 반대의 경우도 마찬가지입니다.

플로팅으로 인한 높이 붕괴 방지#🎜🎜 #

BFC 생성 방법

  • float의 값 code>는 none이 아닙니다.#🎜 🎜#

  • margin发生重叠
  • 防止发生因浮动导致的高度塌陷

怎么生成 BFC

  • float的值不为none

  • overflow的值不为visible

  • display的值为inline-block table-cell table-caption

  • position的值为absolutefixed

display:table也认为可以生成BFC?其实是在于Table会默认生成一个匿名的table-cell,正是这个匿名的table-cell生成了BFC。

行内格式化上下文(IFC):

什么是IFC?IFC(Inline Formatting Contexts)直译为"行内格式化上下文",IFC的line box(线框)高度由其包含行内元素中最高的实际高度计算而来(不受到竖直方向的 padding/margin 影响)

IFC有的特性

1、IFC中的line box一般左右都贴紧整个IFC,但是会因为float元素而扰乱。float元素会位于IFC与与line box之间,使得line box宽度缩短。

2、IIFC中时不可能有块级元素的,当插入块级元素时(如p中插入div)会产生两个匿名块与div分隔开,即产生两个IFC,每个IFC对外表现为块级元素,与div垂直排列。

IFC的应用

  1. 水平居中:当一个块要在环境中水平居中时,设置其为inline-block则会在外层产生IFC,通过text-align则可以使其水平居中。

  2. 垂直居中:创建一个IFC,用其中一个元素撑开父元素的高度,然后设置其vertical-align:middle,其他行内元素则可以在此父元素下垂直居中。

网格布局格式化上下文(GFC)

GFC(GridLayout Formatting Contexts)直译为"网格布局格式化上下文",当为一个元素设置display值为grid的时候,此元素将会获得一个独立的渲染区域,我们可以通过在网格容器(grid container)上定义网格定义行(grid definition rows)和网格定义列(grid definition columns)属性各在网格项目(grid item)上定义网格行(grid row)和网格列(grid columns)为每一个网格项目(grid item)定义位置和空间。

GFC将改变传统的布局模式,他将让布局从一维布局变成了二维布局。简单的说,有了GFC

overflow 값이 표시되지 않습니다. ;

#🎜🎜 #display 값은 inline-block table-cell table-caption; position의 값은 absolute 또는 입니다. 수정됨;

display: 테이블에서도 BFC가 생성될 수 있다고 생각하나요? 실제로 Table은 기본적으로 익명 테이블 셀을 생성하며 BFC를 생성하는 것은 이 익명 테이블 셀입니다.

#🎜🎜##🎜🎜##🎜🎜#인라인 서식 컨텍스트(IFC): #🎜🎜##🎜🎜##🎜🎜##🎜🎜#IFC란 무엇인가요? IFC(인라인 서식 컨텍스트)는 문자 그대로 "인라인 서식 컨텍스트"로 번역됩니다. IFC의 라인 상자(와이어 프레임) 높이는 포함된 인라인 요소의 실제 높이에서 계산됩니다(세로 패딩/여백의 영향을 받지 않음)# 🎜🎜 ##🎜🎜##🎜🎜#IFC의 특징#🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#1 IFC의 라인 박스는 일반적으로 왼쪽과 전체 IFC에 가깝습니다. 그러나 float 요소에 의해 방해를 받습니다. 플로트 요소는 IFC와 라인 상자 사이에 위치하여 라인 상자의 너비를 줄입니다. #🎜🎜##🎜🎜#2. 블록 수준 요소가 삽입되면(예: p에 div 삽입) div와 별도로 두 개의 익명 블록이 생성됩니다. 즉, 두 개의 IFC, 각 IFC는 div와 함께 수직으로 배열된 블록 수준 요소로 나타납니다. #🎜🎜##🎜🎜##🎜🎜#IFC 적용#🎜🎜##🎜🎜#
    #🎜🎜##🎜🎜#가로 중심 맞추기: 블록이 환경에서 수평으로 중앙에 배치할 때 inline-block으로 설정하면 외부 레이어에 IFC가 생성되고, text-align을 사용하면 이를 만들 수 있습니다. 수평. #🎜🎜##🎜🎜##🎜🎜#세로 중심 맞추기: IFC를 생성하고 요소 중 하나를 사용하여 상위 요소의 높이를 확장한 다음 를 설정합니다. >vertical-align :middle, 다른 인라인 요소는 이 상위 요소 아래 수직 중앙에 배치될 수 있습니다. #🎜🎜#
#🎜🎜##🎜🎜##🎜🎜#Grid Layout Formatting Context(GFC) #🎜🎜##🎜🎜##🎜🎜##🎜🎜# GFC(GridLayout Formatting Contexts)는 문자 그대로 "그리드 레이아웃 서식 지정 컨텍스트"로 번역됩니다. 요소에 대해 display 값이 grid로 설정되면 이 요소는 그리드 정의 행 (그리드 정의 행)과 그리드 컨테이너 (그리드 컨테이너)(그리드)에 그리드 정의를 정의할 수 있습니다. 정의 열) 속성은 각각 그리드 행 (grid row)과 그리드 항목 (grid item) (grid columns)의 그리드 열을 정의합니다. code>는 각 그리드 항목 <code>(그리드 항목)의 위치와 공간을 정의합니다. #🎜🎜##🎜🎜#GFC는 기존 레이아웃 모드를 1차원 레이아웃에서 2차원 레이아웃으로 변경합니다. 간단히 말해서 GFC를 사용하면 레이아웃이 더 이상 단일 크기로 제한되지 않습니다. 이때 9제곱 그리드 및 퍼즐과 같은 레이아웃 효과를 얻는 것은 매우 쉽습니다. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Adaptive Formatting Contexts(FFC): #🎜🎜##🎜🎜##🎜🎜##🎜🎜#FFC(Flex Formatting Contexts)는 문자 그대로 " "적응형 서식 컨텍스트", 표시 값이 flex 또는 inline-flex인 요소는 적응형 컨테이너(Flex 컨테이너)를 생성합니다. #🎜🎜#

Flex Box는 플렉스 컨테이너와 플렉스 아이템으로 구성됩니다. 요소의 표시 속성을 flex 또는 inline-flex로 설정하여 flex 컨테이너를 얻을 수 있습니다. flex로 설정된 컨테이너는 블록 수준 요소로 렌더링되고, inline-flex로 설정된 컨테이너는 인라인 요소로 렌더링됩니다.

Flex 컨테이너의 각 하위 요소는 Flex 항목입니다. 플렉스 아이템은 얼마든지 있을 수 있습니다. Flex 컨테이너 외부와 Flex 프로젝트 내의 모든 요소는 영향을 받지 않습니다. 간단히 말해서 Flexbox는 Flex 컨테이너 내에서 Flex 항목을 배치하는 방법을 정의합니다.

FFC(적응형 서식 컨텍스트)와 BFC(블록 수준 서식 컨텍스트)의 차이점:

FFC는 BFC와 다소 유사하지만 여전히 다음과 같은 차이점이 있습니다.

1. Flexbox는 의사 요소 ::first-line 및 ::first-letter

2를 지원하지 않습니다. 효과

3. float 및clear 속성은 Flexbox의 하위 요소에 영향을 주지 않으며 하위 요소가 문서 흐름에서 벗어나도록 하지 않습니다(그러나 Flexbox에는 영향을 미칩니다!)# 🎜🎜#

4. 다중 열 레이아웃(열-*)도 Flexbox에서 유효하지 않습니다. 즉, 다중 열 레이아웃을 사용하여 Flexbox

#🎜 아래에 있는 하위 요소를 정렬할 수 없습니다. 🎜#5. Flexbox에서 하위 요소는 상위 컨테이너의 너비를 상속하지 않습니다. /css_WEB-ITnose

CSS > -ITnose

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

#🎜🎜 #

위 내용은 CSS 레이아웃의 서식 지정 컨텍스트(FC) 유형은 무엇입니까? 서식 지정 컨텍스트(FC) 유형 소개의 상세 내용입니다. 자세한 내용은 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 옷 제거제

Video Face Swap

Video Face Swap

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

인기 기사

<gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Nordhold : Fusion System, 설명
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

HTML : 구조, CSS : 스타일, 자바 스크립트 : 동작 HTML : 구조, CSS : 스타일, 자바 스크립트 : 동작 Apr 18, 2025 am 12:09 AM

웹 개발에서 HTML, CSS 및 JavaScript의 역할은 다음과 같습니다. 1. HTML은 웹 페이지 구조를 정의하고, 2. CSS는 웹 페이지 스타일을 제어하고 3. JavaScript는 동적 동작을 추가합니다. 그들은 함께 현대 웹 사이트의 프레임 워크, 미학 및 상호 작용을 구축합니다.

HTML의 미래 : 웹 디자인의 진화 및 트렌드 HTML의 미래 : 웹 디자인의 진화 및 트렌드 Apr 17, 2025 am 12:12 AM

HTML의 미래는 무한한 가능성으로 가득합니다. 1) 새로운 기능과 표준에는 더 많은 의미 론적 태그와 WebComponents의 인기가 포함됩니다. 2) 웹 디자인 트렌드는 반응적이고 접근 가능한 디자인을 향해 계속 발전 할 것입니다. 3) 성능 최적화는 반응 형 이미지 로딩 및 게으른로드 기술을 통해 사용자 경험을 향상시킬 것입니다.

CRAFT CMS의 캐싱 문제 해결 : Wiejeben/Craft-Laravel-Mix 플러그인 사용 CRAFT CMS의 캐싱 문제 해결 : Wiejeben/Craft-Laravel-Mix 플러그인 사용 Apr 18, 2025 am 09:24 AM

CRAFTCMS를 사용하여 웹 사이트를 개발할 때 특히 CSS 및 JavaScript 파일을 자주 업데이트 할 때 자주 리소스 파일 캐싱 문제가 발생하면 이전 버전의 파일이 여전히 브라우저에서 캐싱 될 수 있으므로 사용자는 최신 변경 사항을 볼 수 없습니다. 이 문제는 사용자 경험에 영향을 줄뿐만 아니라 개발 및 디버깅의 어려움을 증가시킵니다. 최근에 나는 프로젝트에서 비슷한 문제를 겪었고, 약간의 탐색 후 플러그인 Wiejeben/Craft-Laravel-Mix를 발견하여 캐싱 문제를 완벽하게 해결했습니다.

웹 사이트 성능을 최적화하는 방법 : 미니 라이브러리 사용에서 배운 경험 및 교훈 웹 사이트 성능을 최적화하는 방법 : 미니 라이브러리 사용에서 배운 경험 및 교훈 Apr 17, 2025 pm 11:18 PM

웹 사이트를 개발하는 과정에서 페이지 로딩을 개선하는 것은 항상 최우선 과제 중 하나였습니다. 일단 웹 사이트의 성능을 향상시키기 위해 CSS 및 JavaScript 파일을 압축하고 병합하기 위해 Miniify 라이브러리를 사용해 보았습니다. 그러나 사용 중에 많은 문제와 도전에 직면하여 결국 Miniify가 더 이상 최선의 선택이 아닐 수도 있음을 깨달았습니다. 아래에서는 내 경험과 작곡가를 통해 미수를 설치하고 사용하는 방법을 공유 할 것입니다.

HTML vs. CSS 및 JavaScript : 웹 기술 비교 HTML vs. CSS 및 JavaScript : 웹 기술 비교 Apr 23, 2025 am 12:05 AM

HTML, CSS 및 JavaScript는 최신 웹 페이지를 구축하기위한 핵심 기술입니다. 1. HTML 웹 페이지 구조를 정의합니다. 2. CSS는 웹 페이지의 모양을 담당합니다.

H5 코드 이해 : HTML5의 기본 사항 H5 코드 이해 : HTML5의 기본 사항 Apr 17, 2025 am 12:08 AM

HTML5는 현대적인 웹 페이지를 구축하는 핵심 기술로 많은 새로운 요소와 기능을 제공합니다. 1. HTML5는 웹 페이지 구조 및 SEO를 향상시키는 의미 론적 요소를 소개합니다. 2. 멀티미디어 요소를 지원하고 플러그인없이 미디어를 포함시킵니다. 3. 양식은 새로운 입력 유형 및 검증 속성을 향상시켜 검증 프로세스를 단순화합니다. 4. 웹 페이지 성능 및 사용자 경험을 향상시키기 위해 오프라인 및 로컬 스토리지 기능을 제공합니다.

H5 코드 해체 : 태그, 요소 및 속성 H5 코드 해체 : 태그, 요소 및 속성 Apr 18, 2025 am 12:06 AM

HTML5 코드는 태그, 요소 및 속성으로 구성됩니다. 1. 태그는 컨텐츠 유형을 정의하고 다음과 같은 각도 브래킷으로 둘러싸여 있습니다. 2. 요소는 컨텐츠와 같은 시작 태그, 내용 및 엔드 태그로 구성됩니다. 3. 속성 시작 태그에서 키 값 쌍을 정의하고 기능을 향상시킵니다. 웹 구조를 구축하기위한 기본 단위입니다.

숭고한 HTML을 생성하는 방법 숭고한 HTML을 생성하는 방법 Apr 16, 2025 am 09:03 AM

숭고한 텍스트에는 HTML 코드를 생성하는 두 가지 방법이 있습니다. Emmet 플러그인을 사용하면 약어를 입력하고 탭 키를 눌러 HTML 요소를 생성하거나 기본 HTML 구조 및 코드 스 니펫, 자동 불완전 기능 및 EMMET 스 니펫과 같은 기타 기능을 제공하는 사전 정의 된 HTML 파일 템플릿을 사용할 수 있습니다.

See all articles