๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ƒ‰์ƒ (2)

Hi-๋žŒ๐Ÿ‘‹ High-๋žŒโ˜€๏ธ

[React] RadioButton ์ปค์Šคํ…€ํ•˜๊ธฐ with styled-components

๊ธฐ์กด Input์—์„œ ์ œ๊ณตํ•˜๋Š” RadioButton์—์„œ ์ƒ‰๋งŒ ๋ฐ”๊พธ๊ณ  ์‹ถ์—ˆ์„ ๋ฟ์ธ๋ฐ, ์ƒ๊ฐ๋ณด๋‹ค ์ž๋ฃŒ๋“ค์ด ๋งŽ์ง€ ์•Š์•˜๋‹ค. ์ปค์Šคํ…€ํ–ˆ๋‹ค๋Š” ๋‚ด์šฉ์„ ์‚ดํŽด๋ณด๋ฉด radio ํŠน์œ ์˜ ๋™๊ทธ๋ผ๋ฏธ 2๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ์–‘๋ณด๋‹ค, ์•„์˜ˆ ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋‹ค์ˆ˜์˜€๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜์ฒ˜๋Ÿผ ๊ณ ๋ฏผํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด RadioButton ์ปค์Šคํ…€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค! ๋จผ์ €, ๋‚ด๊ฐ€ ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ๋ชจ์–‘์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜๋‹ค. ๊ณ ๋ คํ•ด์•ผ ํ•  ์ ์€ ์„ ํƒ๋˜์—ˆ์„ ๋•Œ 1. ๋‚ด๋ถ€์— ๋™๊ทธ๋ผ๋ฏธ๊ฐ€ ์ƒ๊ฒจ์•ผ ํ•˜๋ฉฐ 2. icon์˜ ์ƒ‰๊ณผ label์˜ ์ƒ‰์ƒ์ด ๋ฐ”๋€Œ์–ด์•ผ ํ•œ๋‹ค ๋Š” ๊ฒƒ์ด๋‹ค. ๋‹ค๋ฅธ ๊ฒƒ๋ณด๋‹ค ๋‚˜๋Š” css์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด๊ณ  ์žˆ์–ด์„œ, 1๋ฒˆ์„ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ง‰๋ง‰ํ–ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ css์— ๋Œ€ํ•ด ์•„๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ๊ฐ€์ƒ ์„ ํƒ์ž :after ์„ ํƒํ•œ..

React 2023. 10. 27. 17:40
[React] SVGํŒŒ์ผ ์ƒ‰์ƒ ๋ณ€๊ฒฝํ•˜๊ธฐ

๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค๋‹ค ๋ณด๋‹ˆ ํ…Œ๋งˆ์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€์˜ ์ƒ‰์ƒ๋„ ๋ฐ”๊ฟ”์•ผ ํ–ˆ๋‹ค. SVGํŒŒ์ผ์˜ ๊ฒฝ์šฐ ๋งˆํฌ์—… ์–ธ์–ด๋กœ ํ‘œํ˜„๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ‰์ƒ์„ ์‰ฝ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. 1 ) SVG ํŒŒ์ผ ์ˆ˜์ •ํ•˜๊ธฐ SVGํŒŒ์ผ์˜ ์ƒ‰์ƒ์„ ๋ฐ”๊พธ๋ ค๋ฉด ๋จผ์ € ์œ„์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ fill="none"์œผ๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ๋Š” ๋ถ€๋ถ„์„ fill="current"๋กœ ๋ฐ”๊ฟ”์•ผ ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•  ์ ์€ ๋ชจ๋“  fill์„ ๋ฐ”๊ฟ”์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋‚ด๊ฐ€ ๋ฐ”๊พธ๊ณ  ์‹ถ์€ svgํŒŒ์ผ์˜ ๊ฒฝ์šฐ fill์ด 2๊ตฐ๋ฐ ์žˆ์—ˆ๋‹ค. ํ•œ ๊ตฐ๋ฐ๋งŒ ๋ฐ”๊ฟจ์„ ๋•Œ๋Š” ์ž‘๋™์ด ์•ˆ ๋๋‹ค. 2 ) fill ์†์„ฑ ์ง€์ •ํ•˜๊ธฐ SVGํŒŒ์ผ์„ ์ˆ˜์ •ํ–ˆ์œผ๋ฉด ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๋กœ ๊ฐ€์„œ props๋ฅผ fill="#A0A0A0"์™€ ๊ฐ™์ด ์ง€์ •ํ•˜๋ฉด ์ƒ‰์ƒ์ด ๋ฐ”๋€๋‹ค. ๋‹ค๋งŒ ์—ฌ๊ธฐ์„œ๋„ ์ฃผ์˜ํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‹ค. SVGํŒŒ์ผ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด img src๋ฅผ ์ด์šฉ..

React 2023. 3. 18. 02:08