여백 및 상위 요소: 컨테이너 수수께끼 이해
지정된 여백 값이 있는 HTML 요소가 다른 컨테이너 요소 내에 자리잡으면 상위 요소가 다음을 기대할 수 있습니다. 일관되게 여백을 감싸십시오. 그러나 이러한 기대가 항상 충족되는 것은 아닙니다. 테두리, 위치 또는 오버플로 설정과 같은 상위 컨테이너의 특정 특성에 따라 여백이 포함되는지 여부가 결정되는 놀라운 동작이 나타납니다.
이 이상한 동작으로 인해 몇 가지 질문이 제기되었습니다.
- 부모 요소의 특성에 따라 동작이 달라지는 이유는 무엇인가요?
- 어떤 특정 속성이 여백 억제를 유발하나요?
- 이 동작은 CSS 사양에 명시적으로 정의되어 있습니까?
미스터리를 풀기 위해 CSS의 깊이와 여백 상호 작용의 복잡성을 자세히 살펴보겠습니다.
여백 억제 트리거
실험을 통해 여러 CSS 속성이 여백 억제에 영향을 줄 수 있다는 것이 관찰되었습니다:
- border: solid
- position:absolute
- display: inline-block
- overflow: auto
흥미롭게도 이러한 트리거는 여백 속성과 직접적인 관련이 없습니다. 예를 들어, 실선 테두리는 여백 억제에 영향을 미칠 가능성이 거의 없어 보입니다.
CSS 사양의 수수께끼
CSS 여백에 대한 W3C 사양 페이지를 자세히 살펴보면 명확한 내용을 찾을 수 있을 것으로 예상됩니다. 이 수수께끼 같은 행동에 대한 설명. 그러나 놀랍게도 사양에서는 관찰된 동작에 대한 명시적인 정의를 제공하지 않습니다.
더 자세히 살펴보면 사양에서 두 가지 개념이 결합되어 있음을 알 수 있습니다.
- 여유 여백: 포함 요소 너머로 확장되는 여백.
- 접힌 여백: 겹치거나 상호 작용하는 여백.
이 수수께끼의 혼합은 모호함을 만들어내고 혼란.
여백 포함의 논리
마진 포함의 논리를 이해하려면 CSS 사양의 "여백 축소" 섹션을 참조해야 합니다.
"If the top and bottom margins of a box are adjoining, then it is possible for margins to collapse through it."
이는 하위 요소의 위쪽 및 아래쪽 여백이 서로 닿거나 겹치는 경우 단일 여백이 된다는 의미입니다. 그런 다음 요소의 위치는 축소 여백에 있는 다른 요소와의 관계에 따라 달라집니다.
- 하위 요소의 여백이 상위 요소의 상단 여백과 함께 축소되는 경우 하위 요소의 상단 테두리가 상위 요소의 상단 테두리와 정렬됩니다.
- 그렇지 않으면 하위 요소의 상단 테두리 위치는 다음과 같이 계산됩니다. 아래쪽 테두리가 0이 아닙니다.
본질적으로 여백을 포함하는 것은 "일반 div"의 기본 동작과 관련이 없습니다. 대신 여백, 테두리, 위치 지정 및 오버플로 설정의 상호 작용에 따라 달라집니다.
결론
마진 억제의 수수께끼가 풀리면서 일관되지 않은 것처럼 보이는 동작이 마진 붕괴의 복잡한 규칙. CSS 사양에 명확한 문서가 없기 때문에 혼란이 발생했으며, CSS의 복잡한 측면의 미묘한 차이를 완전히 파악하려면 광범위한 테스트와 실험이 필요했습니다.
위 내용은 여백이 상위 요소 속성에 따라 다르게 동작하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이것은 우리가 양식 접근성에 대해 한 작은 시리즈의 세 번째 게시물입니다. 두 번째 게시물을 놓친 경우 "사용자 초점 관리 : Focus-Visible"을 확인하십시오. ~ 안에

CSS Box-Shadow 및 개요 속성은 주제를 얻었습니다. 실제 테마에서 어떻게 작동하는지에 대한 몇 가지 예와 이러한 스타일을 WordPress 블록 및 요소에 적용 해야하는 옵션을 보자.

Svelte Transition API는 맞춤형 전환을 포함하여 문서를 입력하거나 떠날 때 구성 요소를 애니메이션하는 방법을 제공합니다.

이 기사에서 우리는 스크롤 바의 세계로 뛰어들 것입니다. 너무 화려하게 들리지는 않지만 잘 설계된 페이지가 손을 잡고 있습니다.

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

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

NPM 명령은 서버 시작 또는 컴파일 코드와 같은 것들에 대한 일회성 또는 지속적으로 실행되는 프로세스로 다양한 작업을 실행합니다.


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版
시각적 웹 개발 도구

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

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
