블록속성을 가진 요소를 자식으로 가지고 있는 부모요소는
margin이 생기지 않는다.
예를 들면, h태그는 위아래 margin을 가지고 있는데,
부모요소인 container3에 배경색을 넣고 보면, 자식요소인 h1에 margin이 표현되지 않은걸 확인할 수 있다.
이때, 부모에 overflow:hidden이나, 이 방법 외에도, display:flow-root를 적용하면,
자식요소인 h1의 margin이 표현되는 걸 확인 할 수 있다.
1. HTML 부분
<div class="container3">
<h1>box3</h1>
</div>
2. CSS 부분
.container3{
background: #f00;
/* overflow: hidden; */
display:flow-root;
}
h1{
background: #fee;
}
이처럼, 자식요소의 공간에 float, margin 이 적용됨으로써, 공간이 원래 역할대로 표현되지 않을 때, BFC를 사용하여 해결한다.
developer.mozilla.org/ko/docs/Web/Guide/CSS/Block_formatting_context
블록 서식 맥락 - 웹 개발자 안내서 | MDN
블록 서식 맥락(block format context)은 웹 페이지를 렌더링하는 시각적 CSS의 일부로서, 블록 박스의 레이아웃이 발생하는 지점과 플로팅 요소의 상호작용 범위를 결정하는 범위입니다. 블록 서식 맥
developer.mozilla.org
'UIUX Web Standard > COA Lab's CSS' 카테고리의 다른 글
Flexbox Layout (0) | 2021.02.16 |
---|---|
css 위치와 공간 해석 - float (0) | 2021.02.09 |
css 공간의 이해 2 - - margin collapsing (0) | 2021.02.09 |
css 공간의 이해 1 - BFC (0) | 2021.02.08 |
coding tip - 2. about margin & overflow(BFC) (0) | 2021.02.04 |