HTML + CSS
CSS 박스모델
이히힣
2022. 7. 24. 00:23
[박스모델]
모든 콘텐츠는 각자의 영역을 가지며, 일반적으로 하나의 콘텐츠로 묶이는 요소들이 하나의 박스라 한다.
1. block 박스
줄 바꿈이 되는 박스. <h1> , <p>
width, height 속성이 사용 가능하다.
https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements
2. inline 박스
줄 바꿈이 일어나지 않고, 크기 지정을 할 수 없는 박스. <span>
width, height 속성이 사용 가능하지 않다.
inline 박스의 너비는 콘텐츠가 차지하는 너비가 결정하게 된다.
https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements
3. inline-block 박스
두 가지 박스 종류의 특징이 섞인, 줄 바꿈이 일어나지 않는 동시에 block 박스
block | inline-block | inline-block | |
줄바꿈 여부 | 줄바꿈이 일어남 | 줄바꿈이 일어나지 않음 | 줄바꿈이 일어나지 않음 |
기본적으로 갖는 너비(width) | 100% | 글자가 차지하는 만큼 | 글자가 차지하는 만큼 |
width, height 사용 가능 여부 | 가능 | 가능 | 불가능 |
[표] block, inline-block, inline의 특징
[CSS 박스 모델]
1. border(테두리)
각 영역이 차지하는 크기를 파악하기 위해 레이아웃을 만들면서 그 크기를 시각적으로 보여준다. 상자 그 자체
p {
border: 2px solid red;
}
2. margin(바깥여백)
박스 바깥쪽 여백
top, right, bottom, left로 시계방향 순서
p {
margin: 10px 20px 30px 40px; //상, 우, 하, 좌
}
x {
margin: 10px 20px // 상하, 좌우
}
q {
margin: 10px; // 모든 방향 여백
}
3. padding(안쪽여백)
박스 안쪽 여백
top, right, bottom, left로 시계방향 순서
p {
padding: 10px 20px 30px 40px; //상, 우, 하, 좌
}
x {
padding: 10px 20px // 상하, 좌우
}
q {
padding: 10px; // 모든 방향 여백
}