일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Codility
- skt membership
- 강화학습
- Gap
- stl
- align-items
- 상태
- Design Pattern
- spring
- c
- Javascript
- 소수
- 확률
- Flexbox
- series
- 에라토스테네스의 체
- Photoshop
- c++
- dataframe
- 수학
- SK바이오사이언스
- margin
- grid
- 백준
- 알고리즘
- 포토샵
- Prefix Sums
- pandas
- CSS
- 통신사할인
Archives
- Today
- Total
sliver__
CSS 박스 타입 3가지: Block · Inline · Inline-Block 본문
728x90
1. Block 레벨 박스 (Block-level box)
- 특징
- 가로 공간을 100% 차지
- 요소마다 줄바꿈(라인 브레이크) 발생
- 너비(width), 높이(height), 마진(margin), 패딩(padding) 전부 적용
- 대표 요소
<div>, <p>, <h1>~<h6>, <header>, <article> 등 - 예시
/* 기본값: block 요소 */
article {
width: 600px;
margin: 20px auto;
padding: 16px;
background: #f5f5f5;
}
2. 인라인 박스 (Inline box)
- 특징
- 컨텐츠 크기만큼 가로폭 차지
- 줄바꿈 없이 같은 줄에 나란히 배치
- 높이·너비 지정 불가 (height/width 무시)
- 마진·패딩은 좌·우에만 적용 (상·하는 무시)
- 대표 요소
<span>, <a>, <strong>, <em>, <img> 등 - 예시
a {
/* inline 요소에 height/width 적용해도 무시됨 */
padding: 0 8px; /* 좌·우만 적용 */
margin: 0 12px; /* 좌·우만 적용 */
background: #ffeb3b; /* 배경은 컨텐츠 영역만 채움 */
}
3. 인라인-블록 박스 (Inline-block box)
- 특징
- 외형은 Inline(한 줄에 나란히)
- 내부는 Block(높이·너비·상하 마진·패딩 전부 적용)
- 즉, 줄바꿈 없이 블록 모델을 적용하고 싶을 때 사용
- 적용 방법
.btn {
display: inline-block;
width: 120px; /* 적용 가능 */
height: 40px; /* 적용 가능 */
margin: 10px 8px; /* 상하·좌우 모두 적용 */
line-height: 40px;
text-align: center;
background: #4caf50;
color: white;
}
- 활용 예
- 내비게이션 메뉴 링크 (<a>)에 공간 주기
- 카드·버튼 등 동일 크기 블록을 한 줄에 나란히 배치
display 속성으로 변환하기
원래 박스 타입변경할 display 값결과
Inline | display: block; | 줄바꿈 생기고, 전체 가로폭 차지 |
Block | display: inline; | 한 줄에 나란히, 높이·너비 무시 |
Block/Inline | display: inline-block; | 한 줄에 나란히, 높이·너비·상하 마진·패딩 모두 적용 |
/* 예: 내비게이션 링크를 inline-block으로 */
nav a {
display: inline-block;
margin: 10px 20px 10px 0; /* 상우하좌 모두 가능 */
padding: 4px 8px;
background: #ff5722;
color: white;
text-decoration: none;
}
정리 및 팁
- 기본 박스 타입은 대부분 적절하게 설정되어 있으니, 평소엔 display를 건드리지 않아도 OK.
- Inline 요소에 높이·상하 마진·패딩을 주고 싶다면 → display: inline-block.
- Block 요소를 한 줄에 나란히 놓고 싶다면 → display: inline-block 또는 inline (모델 적용 여부 고려).
728x90
'Frontend > CSS' 카테고리의 다른 글
웹 페이지 레이아웃 완전 정복! - CSS 레이아웃 기초 (0) | 2025.05.02 |
---|---|
CSS Positioning 기초부터 활용까지 (0) | 2025.05.02 |
CSS로 페이지를 가운데 정렬하는 간단한 트릭 (0) | 2025.05.02 |
CSS에서 width와 height로 요소 크기 조절하는 법 (0) | 2025.05.02 |
CSS 박스 모델 실전 적용: 패딩과 마진 완벽 정리 (0) | 2025.05.02 |
Comments