๐Ÿ“‹ ์ฝ์„ ๊ฑฐ๋ฆฌ: react styling

Bora Imยท2022๋…„ 6์›” 16์ผ
0

์ฝ์„๊ฑฐ๋ฆฌ

๋ชฉ๋ก ๋ณด๊ธฐ
6/7

react component styling

๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ๋งํ•˜๊ธฐ | Velopert

๐Ÿงก ์ปดํฌ๋„ŒํŠธ ์˜ต์…˜์— ๋”ฐ๋ผ style ์ง€์ •ํ•˜๊ธฐ (outline)

  • props ๋กœ ๋ฐ›์•„์˜จ outline ๊ฐ’์„ ๊ฐ์ฒด์— ๋„ฃ์–ด classNames() ์— ์ถ”๊ฐ€
  • outline ๊ฐ’์ด true ์ผ ๋•Œ์—๋งŒ button ์— outline ํด๋ž˜์Šค๊ฐ€ ์ ์šฉ๋œ๋‹ค.๐Ÿ‘

๐Ÿ’› ๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ ์ƒ‰์ƒ๊ฐ’ ๊ด€๋ฆฌ (feat. SCSS)

// Button.scss
$blue: #228be6; // ๋ณ€์ˆ˜

@mixin button-color($color) { // ๋ฏน์Šค์ธ
  background: $color;
  &:hover { background: lighten($color, 10%); }
  &:active { background: darken($color, 10%); }
  &.outline {
    color: $color; background: none; border: 1px solid $color;
    &:hover { color: white; background: $color; }
  }
}

.Button {
  &.blue { @include button-color($blue); }
}

๐Ÿ’š ์ฒดํฌ๋ฐ•์Šค ์ปดํฌ๋„ŒํŠธ ์•„์ด์ฝ˜ ์ ์šฉ (feat. react-icons)
react-icons ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด Font Awesome, Material Design Icons ๋“ฑ์˜ ์•„์ด์ฝ˜๋“ค์„ ์ปดํฌ๋„ŒํŠธ ํ˜•ํƒœ๋กœ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.

// CheckBox.js
import { MdCheckBox, MdCheckBoxOutlineBlank } from 'react-icons/md';

function CheckBox({ children, checked, ...rest }) {
  return (
    <div>
      <label>
        <input type="checkbox" checked={checked} {...rest} />
        <div>{checked ? <MdCheckBox /> : <MdCheckBoxOutlineBlank />}</div>
      </label>
      <span>{children}</span>
    </div>
  );
}

export default CheckBox;

์›น ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ๋ง ๊ด€๋ฆฌ: CSS-in-JS vs CSS-in-CSS | SAMSUNG SDS

๋‹ค์–‘ํ•œ ๋ฐฉ์‹์˜ ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ๋ง ๋ฐฉ์‹: CSS, Sass, CSS Module, styled-components

์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ๋ง ๋ฐฉ์‹

๐Ÿ’™ CSS Module

๐Ÿ’œ classNames

๐ŸคŽ styled-components


Hello Tailwind CSS! | ์žฅ์ , ๋‹จ์ , ์‚ฌ์šฉ๋ฒ•
Tailwind CSS ์‚ฌ์šฉ๊ธฐ | kakao ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ
Tailwindcss๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.(with. twin.macro + emotion)
twin.macro


emotion.js ์†Œ๊ฐœ ๋ฐ ์‚ฌ์šฉ๋ฒ• (feat. CSS-in-JS)


CSS ์ „,ํ›„ ์ฒ˜๋ฆฌ๊ธฐ


PostCSS ์•ˆ๋‚ด์„œ
PostCSS ํ† ์ŠคํŠธํŒŒ์ผ ์ ์šฉ๊ธฐ
PostCSS vs Scss

0๊ฐœ์˜ ๋Œ“๊ธ€