lil.dev
Published on

๐ŸŽ‰ ์ปฌ๋Ÿฌ๋ฆฌ์ŠคํŠธ ํ”„๋กœ์ ํŠธ #15 css ์ˆ˜์ •

๊ธ€์“ด์ด

    ๐Ÿ“Œ

    Welcome

    โœจ ์ปฌ๋Ÿฌ๋ฆฌ์ŠคํŠธ ์‚ฌ์ดํŠธ(์•„์ง ์—†์Œ

    tailwind์™€ css ์‚ฌ์šฉ

    ์žฌ์‚ฌ์šฉ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ ๋ถ„๋ฆฌํ•˜๊ธฐ

    ColorSelectionInput ์œผ๋กœ

    ๊ฐ๊ฐ margin์„ ์ฃผ๋Š” ๋Œ€์‹ ... gap-?์„ ์‚ฌ์šฉํ•˜๊ธฐ

    <form
      className="flex flex-col gap-2"
      ...>
    

    useId

    label๊ณผ input์„ htmlFor๋กœ ์—ฐ๊ฒฐํ•ด์ค„ ๋•Œ, react 18๋ถ€ํ„ฐ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ useId๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŽธ๋ฆฌํ•จ~

    svg importํ•˜๊ธฐ

    /src/img/icon.svg์™€ ๊ฐ™์€ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ํ•˜๋“œ์ฝ”๋”ฉํ•˜๋ฉด, ๊ฐœ๋ฐœ ์ค‘์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ... ๋นŒ๋“œํ•˜๊ณ  ๋‚˜๋ฉด assets ํด๋”๋กœ ์ด๋™ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, svg ํŒŒ์ผ์€ ์ƒ๋Œ€๊ฒฝ๋กœ๋กœ importํ•˜๊ฒŒ ๋˜๋ฉด ๋ฒˆ๋“ค๋Ÿฌ๊ฐ€ ์•Œ์•„์„œ ์ ์ ˆํ•œ url์„ ๋ฌธ์ž์—ด๋กœ ์ œ๊ณตํ•จ.

    icon์— ํฌ๊ธฐ ์ง€์ •ํ•ด์ฃผ๊ธฐ

    ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด์ง€ ๋ชปํ•˜๋Š” hidden input์—๋Š” readonly๋ฅผ ๊ฑธ์–ด์ค„ ๊ฒƒ

    ์•ˆ ๊ทธ๋Ÿฌ๋ฉด react๊ฐ€ value๋Š” ์žˆ๋Š”๋ฐ, onChange๊ฐ€ ์—†๋‹ค๊ณ  ๊ฒฝ๊ณ ๋ฅผ ๋„์›€...

    <input type="text" name="colors" value={JSON.stringify(colors)} hidden={true} readOnly />
    

    ๋ฒ„ํŠผ์€ height๋ฅผ ์ง์ ‘ ์ง€์ •ํ•˜์ง€ ๋ง์ž

    ๊ธ€์ž ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•˜๋ฉด, height๊ฐ€ ๋™์ ์œผ๋กœ ๋Š˜์–ด๋‚˜๋„๋ก

    border-radius๋Š” tailwind ์—์„œ๋Š” rounded rounded-lg rounded-xl ๋“ฑ์œผ๋กœ