[CSS] Reset & Normalize
CSS Reset, Normalize가 만들어진 이유
브라우저는 저마다 고유의 기본 서식 ( User-Agent StyleSheet )을 가지고 있다.
Chrome의 기본 서식 https://chromium.googlesource.com/chromium/src/third_party/+/master/blink/renderer/core/html/resources/html.css
때문에 브라우저마다 작성한 웹 사이트가 다르게 표시될 수 있어 브라우저들의 스타일을 하나로 통일하는 선행 작업이 필요했고, 이것이 CSS Reset과 Normalize이다.
CSS Reset
*
Selector를 이용하여 CSS를 초기화 할 경우 성능과 출력에 이슈가 있어 조금씩 정교하게 CSS를 만들어나가며 여러 버전의 Reset이 탄생했고, 그 중 에릭마이어의 CSS Reset이 가장 유명하며 아직까지도 쓰이고 있다.
에릭마이어의 CSS Reset Site, CSS Reset 전문을 확인할 수 있다. https://meyerweb.com/eric/tools/css/reset/
Normalize
이후 User-Agent StyleSheet에 표준이 생겼으나, 여전히 모든 브라우저간의 차이는 존재했다. 이 차이를 표준 브라우저 스타일로 동일하게 보일 수 있는 정규화가 Normalize이다.
normalize CSS git, 지속적으로 업데이트 된다. https://github.com/necolas/normalize.css
Styled Componenets의 normalize https://www.npmjs.com/package/styled-normalize
Opinionated Normalize
표준 스타일에서 더 나은 값으로 Default Style을 만드는 방법
Bootstrap용 Opinionated Normalize https://github.com/twbs/bootstrap/blob/45eb70e03c1905d247c6e012fff9e263d1326066/scss/_reboot.scss
Modern CSS Reset
최소한의 CSS Reset과 기본보다 나은 스펙을 Default로 만들어주는 형태
Default로 쓰일 수 있는 코드
box-sizing: border-box
: border를 box의 inner로 처리한다는 의미이다.table { border-collapse: collapse
: 셀과 테두리의 간격을 처리하는 방법,collapse
는 병합한다는 의미이다.
예시사이트 https://github.com/jgthms/minireset.css
출처
- https://velog.io/@teo/2022-CSS-Reset-%EB%8B%A4%EC%8B%9C-%EC%8D%A8%EB%B3%B4%EA%B8%B0