# Tailwind CSS 3 URL: /lynx/getting-started/styling/tailwind-css-3 Source: https://github.com/daangn/seed-design/blob/dev/docs/content/lynx/getting-started/styling/tailwind-css-3.mdx Lynx에서 Tailwind CSS v3와 SEED 디자인 토큰을 사용하는 방법을 안내합니다. ## Overview 이 문서는 기존 Tailwind CSS v3 프로젝트를 위한 가이드입니다. 새로 설정한다면 [Installation](/lynx/getting-started/installation#스타일링-라이브러리-선택하기)에서 Vanilla Extract 또는 Tailwind CSS v4를 선택하세요. `@seed-design/tailwind3-plugin`으로 SEED 토큰을 네이티브 ``, ``의 유틸리티 클래스로 사용할 수 있습니다. Tailwind CSS v4를 사용하는 프로젝트는 [v4 설정](/lynx/getting-started/styling/tailwind-css-4)을 참고하세요. 테마 설정은 [Theming](/lynx/getting-started/styling/theming)에서 안내합니다. ## Setup - npm: npm install @seed-design/lynx-css tailwindcss@3 @seed-design/tailwind3-plugin - pnpm: pnpm add @seed-design/lynx-css tailwindcss@3 @seed-design/tailwind3-plugin - yarn: yarn add @seed-design/lynx-css tailwindcss@3 @seed-design/tailwind3-plugin - bun: bun add @seed-design/lynx-css tailwindcss@3 @seed-design/tailwind3-plugin ### tailwind.config.ts ```ts import type { Config } from "tailwindcss"; import seedDesignPlugin from "@seed-design/tailwind3-plugin"; export default { content: ["./src/**/*.{jsx,tsx}"], corePlugins: { preflight: false }, plugins: [seedDesignPlugin], } satisfies Config; ``` ### postcss.config.js ```js export default { plugins: { tailwindcss: {}, }, }; ``` ### CSS ```css @import "@seed-design/lynx-css/base.css"; @tailwind components; @tailwind utilities; ``` ## rem 기준 크기 `@seed-design/lynx-css/base.css`는 `:root`의 `font-size`를 16px로 설정합니다. Lynx의 기본값인 14px 대신 웹의 일반적인 기본값을 사용하므로, Tailwind의 `p-4`는 16px, `w-12`는 48px, `text-sm`은 14px로 계산됩니다. 직접 작성한 rem 값에도 같은 기준이 적용됩니다. 별도의 Tailwind 설정이나 rem을 px로 변환하는 플러그인은 필요하지 않습니다. rem의 기준인 root의 `font-size`와 사용자 글자 배율인 `fontScale`은 별개입니다. [Installation](/lynx/getting-started/installation)의 `fontScaleEffectiveOnlyOnSp: true` 설정에서는 사용자 글자 배율이 `sp`에만 적용됩니다. 사용자 글자 배율을 반영할 텍스트에는 `t5-regular` 같은 SEED Dynamic 타이포그래피를 사용하세요. ## Color SEED 색상 토큰은 Tailwind의 `bg-`, `text-`, `border-` 접두사로 사용합니다. ```tsx // 배경색 // 텍스트 색상 기본 텍스트 브랜드 텍스트 에러 텍스트 // 테두리 색상 ``` ## Typography SEED 타이포그래피 토큰은 컴포넌트 클래스로 제공됩니다. ```tsx 가장 작은 텍스트 기본 본문 굵은 본문 큰 제목 가장 큰 제목 ``` ## Layout Tailwind의 Flexbox 유틸리티를 네이티브 `` 엘리먼트에 사용합니다. ```tsx // Flex row (HStack) A B // Flex column (VStack) Item 1 Item 2 ``` ## Lynx 플랫폼 참고 사항 - `overflow: scroll`은 지원되지 않습니다. 스크롤이 필요하면 `` 엘리먼트를 사용하세요. - `position`의 기본값은 `relative`입니다 (웹의 `static`과 다름). - `` + ``은 가상화된 리스트에 사용합니다. `item-key`가 필수입니다. - CSS `initial`, `inherit`, `unset` 키워드는 지원되지 않습니다. - `inset` shorthand는 Lynx 3.7 기준으로 사용하지 않습니다. `top`, `right`, `bottom`, `left` longhand를 직접 작성하세요. ## Gradient 토큰 `fade-mask`, `glow-magic`, `glow-magic-pressed`, `highlight-magic`, `highlight-magic-pressed`, `shimmer-magic`, `shimmer-neutral`을 사용할 수 있습니다. - 방향: `bg-shimmer-neutral-to-r` 또는 `bg-gradient-shimmer-neutral-to-r`. `t`, `tr`, `r`, `br`, `b`, `bl`, `l`, `tl`을 지원합니다. - 각도: `bg-gradient-glow-magic-[120deg]`. 정수·소수·음수 모두 대괄호 문법을 사용합니다. - 임의 각도: `bg-gradient-fade-mask-[45.5deg]`, `bg-gradient-glow-magic-[-45deg]`, `bg-gradient-highlight-magic-[0.25turn]`. `@seed-design/lynx-css/base.css`를 불러오면 `--seed-gradient-*`의 light/dark stop을 사용합니다. 모드 선택은 Lynx 토큰 CSS의 `seed-color-mode-light-only` / `seed-color-mode-dark-only` 클래스를 따릅니다. CSS 생성 성공과 native 렌더링 지원은 별도로 확인해야 합니다. 사용하는 Engine과 host에서 방향·각도·모드 전환을 검증하세요. `fade-mask`는 양쪽 모드에서 동일한 16개 alpha stop을 사용합니다. 이 유틸리티는 배경이며 마스크를 자동으로 적용하지 않습니다.