모든 HTML 요소에는 요소 유형에 따라 기본 표시 값이 있습니다.
표시 값에는block과inline두 가지가 있습니다.
block과inline이 대부분의 엘리먼트 기본값.
inline elements는 새 줄에서 시작하지 않습니다.
inline elements는 필요한 만큼만 너비를 차지합니다.
이것은 단락 내부의span요소 입니다.
block-level elements는 항상 새 줄에서 시작합니다.
block-level elements는 항상 사용 가능한 전체 너비를 차지합니다(최대한 왼쪽과 오른쪽으로 늘어남).
block-level elements에는 위쪽 여백과 아래쪽 여백이 있지만 inline-elements에는 없습니다.
div요소는 block-level element입니다.
div는 Block-level Element.span은 Inline Element.
div와 span에 크기를 지정하였습니다.
block-level element인 div는 지정한 크기만큼 내용이 없어도 block으로 출력이 되었지만, inline-element인 span은 내용물 1,2,3만큼만 inline으로 출력되었습니다.
display 속성 바꿔보기.png)
위 그림을 보면 div가 출력되지 않습니다. div를 display: inline;으로 설정하여, 내용물이 없으면 출력되지 않는 inline-elements로 바꾸었기 때문입니다.
.png)
div태그에 1, 2, 3 내용물을 넣어서 그 만큼만 출력되는 것을 확인할 수 있습니다.
display: inline-block;
display: inline에 비해,display: inline-block의 가장 큰 차이점은width와height를 할당할 수 있다는 것입니다.
또한,display: inline-block에서는margin,padding값을 할당할 수 있습니다.
display: block과 비교할 때 가장 큰 차이점은 줄 바꿈을 하지 않고 나란히 배치할 수 있습니다.

div에 display: inline-block;으로 설정하여 나란히 배치 하였습니다.

페이지 창을 늘리면 그에 따라 일렬로 나란히 배치됩니다.
span을 block으로 만들기
마지막으로 span에 내용물이 없는데도 불구하고, display: block;으로 설정하여 파란색 네모가 출력되게 만들었습니다.