GlobalStyles (전역 스타일링)
공통되는 스타일을 빼줘서 전역 스타일링으로 관리한다.
(1) src 안에 GlobalStyle.jsx 파일을 만든다
(2) createGlobalStyle 을 import 한다
(3) const GlobalStyle = createGlobalStyle 백틱
(4) export 하기
// GlobalStyle.jsx
import { createGlobalStyle } from "styled-components";
const GlobalStyle = createGlobalStyle`
body {
font-family: "Helvetica", "Arial", sans-serif;
line-height: 1.5;
}
`
export default GlobalStyle;
(5) App.jsx 에서 import 하기
(6) App.jsx 에서 jsx 부분에 <GlobalStyle /> 추가하기
import './App.css';
import { styled } from 'styled-components';
import TestPage from './components/TestPage';
import GlobalStyle from './GlobalStyle';
const StContainer = styled.div`
display: flex;
`
const StBox = styled.div`
width: 100px;
height: 100px;
border: 1px solid ${(props)=> props.borderColor};
margin: 20px;
`
// 박스의 색
const boxColorList = ["red", "blue", "green"];
// 색을 넣으면, 이름을 변환
const getBoxName = (color) => {
switch (color) {
case 'red' :
return "빨간박스";
case 'blue' :
return "파란박스";
case 'green' :
return "초록박스";
default:
return "검정박스";
}
}
function App() {
return (
<div>
<GlobalStyle />
<TestPage title="제목입니다" contents="내용입니다"/>
</div>
// <StContainer>
// {boxColorList.map((boxColor)=> {
// return (<StBox borderColor={boxColor}>{getBoxName(boxColor)}</StBox> );
// })}
// </StContainer>
);
}
export default App;
Sass
syntactically Awesome Style Sheets
: css 를 전통적인 방법보다 효율적으로 사용하기 위해 만들어진 언어
css reset
default style을 제거하는방식
reset.css 적용코드
더보기
/* reset.css */
/* 이제 App.jsx 에서 import 하기 */
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, 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,
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, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
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;
}
https://whereannalee.tistory.com/57
728x90
반응형
'부트캠프 개발일지 2023-2024 > React 리액트' 카테고리의 다른 글
[6주차] 리액트숙련: React Hooks - useEffect (0) | 2023.11.08 |
---|---|
[6주차] 리액트숙련: React Hooks - useState (0) | 2023.11.08 |
[6주차] 리액트숙련: Styled Components (0) | 2023.11.08 |
[5주차] 리액트입문: 반복되는 컴포넌트 처리하기2 (0) | 2023.11.02 |
[5주차] 리액트입문: component styling, 중복 컴포넌트 처리 (0) | 2023.11.02 |