[Styled Components] Reset Styled Components

찐새·2022년 8월 11일
0

React

목록 보기
3/21
post-thumbnail

Reset CSS

태그가 가진 기본 스타일을 제거할 때 Reset CSS 코드를 사용해 전역에 적용한다. 일반적으로 Meyer Reset CSS에서 복사해 온 코드를 global.css에 붙여 넣는다.

Styled Components에서는 npm i styled-reset을 설치해 사용할 수 도 있다.

styled-reset 깃허브

설치하지 않고 컴포넌트 형식으로 이용할 수도 있다.

createGlobalStyle

Styled ComponentscreateGlobalStyle을 이용해 전역 컴포넌트를 생성한 후, reset css 코드를 붙여 넣는다.

import { createGlobalStyle } from "styled-components";

const GlobalStyle = createGlobalStyle`
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, menu, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
  display: block;
}
/* HTML5 hidden-attribute fix for newer browsers */
*[hidden] {
    display: none;
}
body {
  line-height: 1;
}
menu, ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
`;

이렇게 생성한 글로벌 스타일 컴포넌트를 최상단 컴포넌트에 추가한다. 리액트 특성 상 부모요소로 감싸지 않은 컴포넌트는 에러를 발생시키므로 fragment(<></>)로 감싸준다.

export default function App() {
  return (
    <> // or <React.Fragment>
      <GlobalStyle />
      <Home />
    </> // or </React.Fragment>
  );
}

참고
노마드 코더 - React JS 마스터 클래스

profile
프론트엔드 개발자가 되고 싶다

0개의 댓글