>  기사  >  웹 프론트엔드  >  부모 요소에 때때로 자식 요소의 여백이 포함되지 않는 이유는 무엇입니까?

부모 요소에 때때로 자식 요소의 여백이 포함되지 않는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-03 16:01:03877검색

Why Does a Parent Element Sometimes Not Contain a Child Element's Margin?

하위 요소 여백의 상위 요소 포함 불일치

여백이 있는 요소가 다른 요소 내에 배치되면 상위 요소가 그렇지 않을 수 있습니다. 항상 그 마진을 포함하십시오. 이러한 일관되지 않은 동작은 많은 개발자들을 당황하게 했습니다.

이 현상을 이해하려면 마진 축소의 개념을 자세히 살펴볼 필요가 있습니다. W3C 사양에서는 축소 여백을 두 개 이상의 상자에 대한 인접한 여백(중간 콘텐츠, 패딩 또는 테두리 없음)을 결합하여 단일 여백을 형성하는 것으로 정의합니다.

여백이 배치된 요소의 경우 다른 요소 내에서 하위 요소의 위쪽 및 아래쪽 여백은 상위 요소의 위쪽 여백을 통해 축소될 수 있습니다. 이것이 일반적으로 상위 요소가 하위 요소의 여백을 포함하게 만드는 원인입니다.

그러나 이 기본 동작을 재정의할 수 있는 특정 조건이 있습니다. 이러한 조건은 다음과 같습니다.

  • 상위 요소에 실선 테두리 적용
  • 하위 요소의 위치를 ​​절대 위치로 설정
  • 하위 요소에 인라인 블록 표시 제공
  • 상위 요소에서 자동 오버플로 활성화

이러한 재정의의 이유는 모두 하위 요소의 여백이 상위 요소의 여백을 통해 축소되는 것을 방지하는 경계 생성과 관련되기 때문입니다.

마진 축소에 관한 W3C 사양은 혼란스럽고 때때로 비논리적으로 보일 수 있다는 점에 유의하는 것이 중요합니다. 그들은 "여백 여백"(상위 여백에 닿고 상위 여백에 포함되지 않는 여백)과 "접힌 여백"(겹칠 수 있는 인접 여백)을 혼합합니다.

"Collapsing"이라는 제목의 사이트 포인트 기사 여백"은 원래 질문에 설명된 정확한 시나리오를 보여주는 예를 포함하여 이 동작에 대한 자세한 설명을 제공합니다. 웹 개발에서 일관되고 예측 가능한 레이아웃을 생성하려면 이러한 동작을 이해하는 것이 중요합니다.

위 내용은 부모 요소에 때때로 자식 요소의 여백이 포함되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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