박스 모델이란?
박스 모델은 박스가 겹겹이 쌓아져 있는 구조를 말한다.
content = 콘텐츠가 표시되는 영역.
padding = 콘텐츠와 테두리(border)사이의 여백.
border = padding과 margin 사이의 테두리.
margin = 가장 바깥 쪽 레이어로 콘텐츠와 패딩, 테두리를 둘러싸면서 해당 박스와 다른 요소 사이 공백 역할을 한다.
크기 - width, height
.block{
width: 300px;
height: 100px;
background-color: wheat;
}
.inline{
width: 300px;
height: 100px;
background-color: yellowgreen;
}
크기 - min-height, min-width, max-height, max-width
여백 - margin
#parent{
width: 300px;
height: 200px;
border: 5px solid blue;
}
#child {
width: 50px;
height: 50px;
margin: 10px;
border: 5px solid tomato;
}
마진 상쇄 (margin collapsing)
여러 블록(block) 요소들의 위/아래 margin이 경우에 따라 가장 큰 크기를 가진 margin으로 결합(상쇄)되는 현상.
아래의 3가지 경우에 일어난다.
padding등으로 마진상쇄를 끊어줄수 있다
부모 블록에 border, padding, inline content가 없어서,
부모와 자식의 margin-top이 만나는 경우.
부모 블록에 border, padding, inline content가 없고,
부모-자식을 분리할 height값이 지정되지 않아
부모와 자식의 margin-bottom이 만나는 경우.