티스토리 뷰
리액트 스타일링
1. 태그에 직접 지정하기
2. 일반 css파일로 적용하기
3. css모듈로 적용하기
1. 태그에 직접 지정하기.
태그에 직접 디자인을 적용 할 때는 {}로 묶어줍니다
- css속성중 - (타이푼)은 카멜표기법으로 대체됩니다. ★
style={{css속성: 값, css속성: 값}}
<p style={{color: 'white', textAlign: 'center'}}>안녕하세요!!</p>
*변수에 style을 적용할 객체를 선언해놓고 변수를 가져와서 style 값 자리에 대입해도 됩니다.
//직접스타일링하기: -은 카멜표기법으로 변경됩니다
const myStyle = {
color : "red",
textAlign : "center"
}
<p style={myStyle}>헤더입니다(직접스타일링)</p>
2. 일반 CSS 파일로 적용하기
*일반CSS문법으로 디자인을 해주면 되고 import로 가져오면 됩니다.
*css파일 이름 규칙
★ 컴포넌트의 이름을반드시 포함해서 만듭니다
EX) App.js - App.css
App.css
/* css 문법을 적용 */
*{padding: 0; margin: 0;}
.app_header{
height: 50px;
line-height: 50px;
}
.app_article{
height: 100px;
background-color: aqua;
}
App.js
import 구문은 파일에 있는 모든것을 가져와서 쓸 것이기 때문에 따로
지정할 이름 from , 이 부분을 빼서 씁니다.
import './css/App.css'; //일반css파일로 디자인 // css폴더에 App.css 파일을 가져온다는 의미.
3. CSS모듈사용하기
- 파일은 컴포넌트명.module.css 형식으로 만듭니다. ★
- css파일은 import구문으로 가져옵니다.
- 이 방식은 선택자에 고유한 해시값을 부여함으로 다른파일과 디자인의 중복을 막아줍니다. ★
- :global 키워드를 이용해서 전역 선택자(이름) 선언이 가능합니다.
App.module.css 파일
.app_wrap{
display:flex;
justify-content:center;
align-items: center;
background-color: aquamarine;
height: 100vh;
}
.app_wrap .app_item{
flex-basis: 20%;
padding: 20px;
}
/* 전역 선택자 - 바로 적용이 가능*/
:global .input_control{
display: block;
width: 100%;
box-sizing: border-box;
color : red;
}
App.js 파일
- css파일은 특정 이름으로 import합니다.
- style={특정이름.선택자 로} 적용합니다.
- :global 키워드는 이름으로 바로 사용하면 됩니다.
//CSS모듈 파일 링크
import styled from './css/App.module.css';
<section className={styled.app_wrap}>
<div className={styled.app_item}>
<p>CSS디자인</p>
<input type="text" className="input_control" />
<input type="password" className="input_control"/>
</div>
</section>
*추가 메모
- '리액트를 다루는 기술' 책의 p.261 CSS 스타일링 부분 참고
-CSS 좀더 깊게 공부해보고 싶으면 리액트의 사스 문법 쪽도 봐보기.
'React.js' 카테고리의 다른 글
23-01-20) 9. Ajax로 외부 데이터 통신하기 (0) | 2023.01.20 |
---|---|
23-01-19) 8. React라우터 (0) | 2023.01.19 |
6. 리액트 기본훅 (0) | 2023.01.17 |
5. 컴포넌트 반복 (0) | 2023.01.16 |
23-01-16 4. 리액트 이벤트 핸들링 (0) | 2023.01.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 중앙정보처리학원
- interface #자바
- 배열과 탐색
- 배열의 정렬
- nasted class
- 조건문
- 자바수업
- 오코노라멘
- output 스트림
- 자바스크립트 ES6 문법
- 가비지 콜렉팅
- 자바 api
- FOR문
- 국비지원 학원 수업 내용
- 강남 중앙정보처리학원
- 자바
- 배열 삭제
- 박인욱 강사님
- 데이터베이스 수업
- 자바#자바수강기록
- 내포 클래스
- api 활용
- 알람 시계 문제
- 강남역 12번 춣구
- 다중 반복문
- 박문석 선생님
- 국비학원 수업
- 국비학원
- input 스트림
- JS ES6 문법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함