css-in-js 질문입니다!!
안녕하세요!! 수업 잘듣고있습니다.
jsx내에서 div태그 속에 여러 css-in-js 변수들을 입력하려면 어떻게 해야하나요??
아래와 같이 className 방식을 사용했는데 기존 css 방식이어서 안먹히는건가요...?
<ProfileLink>
<div className={clsx[styles.Click, styles.LinkLight].join(" ")}>
<img src="/ic_link.png" />
</div>
<Click>
<img src="/ic_location.png" />
</Click>
</ProfileLink>
답변 1
0
안녕하세요! nyang님!
emotion을 사용하실 때 크게 3가지 방법이 있습니다!
emotion의 css를 활용하시는 방법
styled 태그를 활용하시는 방법
위 1번과 2번을 결합하여 사용하는 방법!
emotion의 css를 활용
import { css } from '@emotion/react' // 타입스크립트 사용시, tsconfig.json의 // compilerOptions에 추가 설정 요함 //jsxImportSource:"@emotion/react" const 나의스타일 = css` background-color: red; `; export default function MyPage(){ return <div css={나의스타일}>안녕하세요</div> }
styled 태그를 활용
import styled from '@emotion/styled' const 나의컴포넌트 = styled.div` font-size: 30px; `; export default function MyPage(){ return <나의컴포넌트>안녕하세요</나의컴포넌트> }위 1번과 2번을 결합
import { css } from '@emotion/react' import styled from '@emotion/styled' const 나의스타일 = css` background-color: red; `; const 나의컴포넌트 = styled.div` font-size: 30px; ${나의스타일}; `; export default function MyPage(){ return <나의컴포넌트>안녕하세요</나의컴포넌트> }
따라서, 위 3번 예시를 적용 및 응용하시면 원하시는 결과를 얻을 수 있을 것 같네요!^^
0
이미지 태그도 정상적으로 작동합니다!
이미지 태그는 위 예제처럼 안녕하세요라는 문장이 들어가면 안돼요!
코드화면: 
결과화면:
만약, 타입스크립트를 사용중이시라면 컴파일 옵션을 변경해 주셔야 합니다!
fetchBoardsOfMine, fetchBoardsCountOfMine 에러 문의드립니다
0
36
1
댓글 기능 구현 중 질문드립니다.
0
66
1
쿠폰코드 발급
0
132
2
example 서버 플레이그라운드, API 접속 모두 안됩니다.
0
86
2
문의드립니다!! ㅠㅠ
0
101
2
graphql 백엔드 서버가 포폴용 빼곤 접속이 안됩니다.
0
76
2
_app.js 작성 이후로 에러가 발생하네요
0
93
2
학습자료
0
70
2
학습자료가 안열립니다.
0
49
2
플레이 그라운드 퀴즈 문제 질문이 있습니다.
0
59
0
기존강의 구매자, 업데이트 끝인가요?
0
109
3
업데이트 버전 수강
0
88
2
완벽한 프론트엔드
0
136
2
나만의 쇼핑몰 샘플 페이지 접속 확인부탁드립니다.
0
82
1
graphql 접속이 안됩니다.
0
100
2
const, let 사용 질문 드립니다.
0
70
2
싸이월드 만들기 1탄 피드백 부탁드립니다.
0
122
2
회원가입 과제 피드백 부탁드립니다.
0
80
2
styled.span / styled.input "CSS 자동완성"
0
47
1
쿠폰 발급 관련
0
166
2
서버 502 error
0
247
2
쿠폰 다시 부탁드려도 될가여?
0
140
2
a태그 패딩했을때 왜 크기가 줄어들지 않고 늘어나나요
0
184
2
2분 44초 질문
0
131
3





