본문 바로가기
Study/기타

[CSS]CSS의 display 속성

by 나아가는 2023. 10. 18.
반응형

inline

  • 대표적인 엘리먼트: <span>, <a>
  • height, width 스타일이 무시된다.
  • →왜냐하면 해당 태그가 마크업하고 있는 컨텐츠의 크기만큼 공간을 차지하도록 되어있기 때문이다.
  • 또한 margin과 padding 속성은 좌우 간격만 반영이 되고, 상하 간격은 반영이 되지 않는다.

block

  • 대표적인 엘리먼트 : <div>, <p>, <h1> 등
  • 전 후 줄바꿈이 들어가기 때문에 혼자 한 줄을 차지한다.
  • width, height, margin, padding 속성이 모두 반영이 된다.

inline-block

  • 대표적인 엘리먼트:<button>,<input>,<select>
  • inline과 block의 속성을 모두 가지고 있다.
  • inline 처럼 전후 줄 바꿈없이 한 줄에 다른 엘리먼트들과 나란히 배치 되지만,
  • block 처럼 width와 height 속성 지정 및 margin과 padding 속성의 상하 간격 지정이 가능하다.
  • 내부적으로는 block 엘리먼트의 규칙을 따르면서 외부적으로 inline 엘리먼트 규칙을 따른다.

정리

  • <span>로 마크업된 엘리먼트가 inline 속성값을 가지고, <div>로 마크업된 엘리먼트가 block 속성값을 가지는 이유
  • → 소위 user agent stylesheet라고 불리는 브라우저의 내장 스타일이 적용된다.
  • HTML 태그 별로 기본적으로 적용되어 있는 display 속성값은 CSS를 이용해서 원하는 값으로 변경 가능하다.
  • MDN display

+추가

User agent stylesheet?

  • 내가 의도한 대로 적용이 되지 않고 지 멋대로 되거나 의도와는 약간 다른 경우가 있었던 적이 있을 것이다.
  • 크롬에서 지원하는 개발자 도구에 들어가서 해당 요소를 확인하면 user agent stylesheet 가 적혀 있는 것을 확인할 수 있다.
  • 사용자가 명시해두어야 할 속성을 override 해주지 않거나, <!DOCTYPE html> 등으로 html 파일에서 html의 최신 버전을 알려주지 않아 브라우저가 임의로 설정해둔 것으로,  각 브라우저마다 정해 놓은 CSS의 기본 규칙 이라고 생각하면 될 것이다.

 

참고자료

CSS의 display 속성: inline, block, inline-block

[Web] User Agent Stylesheet

https://medium.com/@kathanpatel0000/display-property-8bc97b965800

반응형

'Study > 기타' 카테고리의 다른 글

[네트워크] 이더넷과 CSMA/CD  (1) 2023.11.13
[리눅스] DNS 서버 설정  (0) 2023.11.08
[리눅스] FTP 서버 설정  (1) 2023.11.08
[Git] 필수 명령어  (0) 2023.09.13
[Git] 기본 정리  (0) 2023.09.13