block과 inline-block, inline 요소의 차이
block
- 새로운 줄에서 시작하고, 좌우 양쪽으로 최대한 늘어나 가능한 모든 너비를 차지
- width와 height를 지정할 수 있다.
- padding, margin을 지정하면 공간을 점유한다.
inline
- text 크기만큼만 점유한다.
- width와 height를 지정할 수 없다.
- padding, margin을 지정하면 좌우로는 적용되지만, 상하에는 적용되지 않는다.
- padding을 사용하여 height가 100px인 것처럼 나와도, 부모의 height에 영향을 주지 못한다.
- 공간을 점유하지 못해 상하 요소와 겹침이 발생한다.
- line-height를 적용할 수 없다. (부모 요소에 적용됨)
inline-block
- text 크기만큼만 점유한다.
- width와 height를 지정할 수 있다.
- padding, margin을 지정하면 공간을 점유한다.
- 요소간 margin과 별개로 여백이 발생한다.
inline 요소의 여백 없애기
- 공백 제거
- 엘리먼트들을 줄바꿈하지 않고 사용하거나
<span><!--/n--><span>
사용
- 폰트 사이즈 조정
- 부모 요소에
font-size: 0
적용
- 부모 요소에
- margin 속성 조정
- 요소에
margin-right: -4px;
적용
- 요소에
- float 속성 사용
- 부모 요소에
float: left;
적용
- 부모 요소에
- flex 속성 사용
- 부모 요소에
display: flex;
적용
- 부모 요소에
참고사이트
블록 레벨 요소 [CSS] display - block과 inline 그리고 inline-block
[CSS] inline 속성일 때, 4px의 여백에 대하여
This post is licensed under CC BY 4.0 by the author.