본문 바로가기
웹(web)/프론트엔드-css

Inline element vs Block element 비교

by 바코94 2020. 5. 2.

 요소는 기본값으로 display속성이 inline 아니면 block 이다. 이는 css3의 display 속성인데 default로 inline아니면 block으로 설정되어있다. 기능적인 관점이나 종류 별로 볼 수도 있지만 레이아웃 배치에서 중요한 것은 사용하려는 요소가 인라인/블락 중 어디에 속하는지 파악하는 것이다. 다만, css의 dispaly 속성을 변경하여 inline, block을 전환할 수 있다. 

 

 인라인은 가로로 배치가 되며 해당 태그가 사용하는 부분만큼만 공간을 차지한다. 그래서인지 margin, padding과 같은 값들이 수직으로는 사용이 안된다. 또한, width, height를 지정할 수 없다. width, height 모두 사용하는 만큼만 차지한다.

 블락은 세로로 배치가 되며 사용하는 부분에 상관 없이 가로 영역을 부모 영역만큼 전부 사용한다. 글이 이해가 안되어도 아래 설명을 마저 읽으면 이해할 수 있다. width는 가능한 모든 가로 너비를 사용하고 height는 사용하는 높이 만큼을 사용한다.

 

 다음은 inline과 block을 비교할 수 있는 코드이다.

 

비교 코드

 코드만 보고 어떤 실행 결과가 나올지 먼저 예측해보는 것이 중요하다. 우선 각 태그가 블락, 인라인 중에 어떤 것인지 구분하고 인라인이면 가로로 배치, 블락이면 세로로 배치되는 형태이다.

 

 검색을 통해 해당 태그의 default display속성을 확인해볼 수 있다. h1, a, div 태그가 default값으로 인라인/블락 중에 어떤 것인지를 검색해보지 않아도 코드를 실행해보면 알 수 있다. 

 

실행화면

 

 결과를 보면 h1,div는 블락이고 a는 인라인이다. 각 태그의 경계선이 어떻게 형성되어있는지 보면 바로 알 수 있다.  인라인은 마진과 패딩이 수직방향으로는 적용이 안된다. 따라서 border가 약간 일그러지게 나왔다. padding, margin을 모른다면 검색이나 필자 블로그에서 확인하고 이 글을 본다면 좋을 것이다. 

 

 

inline/block element를 구분해놓은 레퍼런스 사이트

https://www.w3schools.com/html/html_blocks.asp

 

HTML Block and Inline Elements

HTML Block and Inline Elements Every HTML element has a default display value depending on what type of element it is. The two display values are: block and inline. Block-level Elements A block-level element always starts on a new line and takes up the ful

www.w3schools.com