1번 방법 - 직접 쓰는 방법
import React from "react";
import ReactDOM from "react-dom/client";
import { createGlobalStyle, ThemeProvider } from "styled-components";
import { theme } from "./theme";
import router from "./router";
import { RouterProvider } from "react-router-dom";
const GlobalStyle = createGlobalStyle`
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400&display=swap');
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;
}
* {
box-sizing: border-box;
}
body{
font-family: "Source Sans Pro", sans-serif;
background-color : ${theme.bgColor};
color : ${theme.textColor};
}
`;
const root = ReactDOM.createRoot(
document.getElementById("root") as HTMLElement
);
root.render(
<React.StrictMode>
<ThemeProvider theme={theme}>
<GlobalStyle />
<RouterProvider router={router}></RouterProvider>
</ThemeProvider>
</React.StrictMode>
);
2번 방법 - package 사용
reset package를 사용하는 게 코드적으로는 더 깔끔한 것 같다. 대부분 이 방식을 사용하는 게 나을 듯?
import React from "react";
import ReactDOM from "react-dom/client";
import { createGlobalStyle, ThemeProvider } from "styled-components";
import { theme } from "./theme";
import router from "./router";
import { RouterProvider } from "react-router-dom";
import reset from "styled-reset";
const GlobalStyle = createGlobalStyle`
${reset}
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400&display=swap');
* {
box-sizing: border-box;
}
body{
font-family: "Source Sans Pro", sans-serif;
background-color : ${theme.bgColor};
color : ${theme.textColor};
}
`;
const root = ReactDOM.createRoot(
document.getElementById("root") as HTMLElement
);
root.render(
<React.StrictMode>
<ThemeProvider theme={theme}>
<GlobalStyle />
<RouterProvider router={router}></RouterProvider>
</ThemeProvider>
</React.StrictMode>
);
'HTML&CSS' 카테고리의 다른 글
[HTML / CSS] a태그(Link) 내에 있는 text를 세로 중앙 정렬하기 (0) | 2022.12.15 |
---|---|
CSS 작업 방식에 대한 고찰 (feat. Styled-Components) (1) | 2022.11.22 |
[성능최적화] 차세대 이미지 적용하기 (webp) (0) | 2022.05.25 |
[css] padding, margin 작성 순서 (0) | 2021.10.01 |
[CSS] CSS 수정 시 캐쉬 충돌 방지 하는 방법 (쿼리 스트링) [펌] (0) | 2021.05.25 |
[HTML] Form TAG에서 name의 의미 (0) | 2021.04.30 |
[CSS] PostCSS 장점 (0) | 2021.04.09 |
댓글