리액트 스타일링

1. 태그에 직접 지정하기

2. 일반 css파일로 적용하기

3. css모듈로 적용하기

 

css파일 이름 규칙

컴포넌트의 이름을반드시 포함해서 만듭니다
EX) App.js - App.css
 

1. 태그에 직접 디자인을 적용 할 때는 {}로 묶어줍니다 
  •  css속성중 - 은 카멜표기법으로 대체됩니다.
style={{css속성: 값, css속성: 값}}
<p style={{color: 'white', textAlign: 'center'}}>안녕하세요!!</p>

2. 일반CSS문법으로 디자인을 해주면 되고 import로 가져오면 됩니다.

 

App.css

.app_header {
    height: 50px;
    line-height: 50px;
    background-color: #000;
    margin: 0;
    padding: 0;
}

App.js

import './css/App.css'; //일반css파일로 디자인
......생략

3. CSS모듈사용하기

  • 파일은 컴포넌트명.module.css 형식으로 만듭니다.
  • css파일은 import구문으로 가져옵니다.
  • 이 방식은 선택자에 고유한 해시값을 부여함으로 다른파일과 디자인의 중복을 막아줍니다.
  • :global 키워드를 이용해서 전역 선택자(이름) 선언이 가능합니다.

App.module.css 파일

.app_wrap {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-color: #fff;
    height: 100vh;
    margin: 0;
    padding: 0;
}

/* 전역선택자로 이름정하기 */
:global .title {
    color: pink;
    font-weight: 900;
}

App.js 파일

  1. css파일은 특정 이름으로 import합니다.
  2. style={특정이름.선택자 로} 적용합니다.
  3. :global 키워드는 이름으로 바로 사용하면 됩니다.
import styled from './css/App.module.css'; //css모듈로 디자인

const App = () => {
    return (
        <Fragment>
            <section className={styled.app_wrap}> {/* css모듈 app_wrap적용 */}
                 <p className="title">CSS모듈로디자인!</p> {/* css모듈의 전역선택자 적용 */}
            </section>
        </Fragment>
    )
}

export default App;

 

'Front-End > React' 카테고리의 다른 글

9. Ajax로 외부 데이터 통신하기  (0) 2022.12.29
8. React라우터  (0) 2022.12.28
6. 리액트 기본훅  (0) 2022.12.26
5. 컴포넌트 반복  (0) 2022.12.23
4. 리액트 이벤트 핸들링  (0) 2022.12.21

+ Recent posts