디자인 커스터마이징
색·간격·모서리 값이 전부 --tissue-layout-* 라는 CSS 변수로 빠져 있습니다. 그래서 이 변수 몇 개만 우리 값으로 바꾸면 컴포넌트 전체 모양이 한 번에 바뀝니다. 컴포넌트의 CSS 를 직접 건드릴 필요가 없습니다.
어떻게 바뀌나
base.css 가 .tissue-layout 안에 기본값을 정해 두고, 버튼·카드 같은 컴포넌트가 그 값을 가져다 씁니다. 그래서 위쪽 변수 하나만 바꿔도 그 값을 쓰는 컴포넌트가 모두 따라 바뀝니다.
테마 꾸미기
강조색과 모서리 값을 바꿔 보면 여러 컴포넌트가 그 자리에서 바뀝니다. 마음에 드는 값이 나오면 아래 CSS 를 복사해 앱에 붙여넣으세요.
배지
카드 미리보기
강조색과 모서리 반경이 토큰을 따라 즉시 바뀝니다.
프리셋
css
.tissue-layout {
--tissue-layout-accent: #2563eb;
--tissue-layout-radius: 8px;
}변수별 비교
같은 컴포넌트가 변수 값에 따라 어떻게 달라지는지 나란히 놓고 봅니다.
기본 (base.css)
배지
--tissue-layout-accent: #16a34a
배지
accent: #db2777 · radius: 2px
배지
앱 전체에 적용
앱 전체를 바꾸려면 base.css 를 불러온 다음에 아래처럼 변수를 다시 정해 주면 됩니다.
css
/* app/theme.css — base.css 이후에 로드 */
.tissue-layout {
--tissue-layout-accent: #16a34a; /* 브랜드 강조색 */
--tissue-layout-radius: 12px; /* 더 둥근 모서리 */
--tissue-layout-font: "Pretendard", system-ui, sans-serif;
}일부 영역만 다르게
화면의 특정 영역만 다른 색으로 하고 싶으면, 그 영역에만 인라인 스타일로 변수를 바꿔 주면 됩니다.
tsx
<div
className="tissue-layout"
style={{ ["--tissue-layout-accent"]: "#db2777" } as React.CSSProperties}
>
<Button variant="primary">핑크 강조</Button>
</div>바꿀 수 있는 변수
base.css 가 정해 두는, 우리가 바꿔 쓸 수 있는 변수 목록입니다.
| 변수 | 용도 |
|---|---|
| --tissue-layout-font | 기본 글꼴 스택 |
| --tissue-layout-fg | 본문 전경색 |
| --tissue-layout-fg-muted | 보조 텍스트 |
| --tissue-layout-fg-subtle | 가장 옅은 텍스트 (AA 4.5:1 통과) |
| --tissue-layout-bg | 페이지 배경 |
| --tissue-layout-bg-panel | 카드·패널 표면 |
| --tissue-layout-bg-muted | 옅은 표면 (헤더/짝수행 등) |
| --tissue-layout-border | 기본 테두리 |
| --tissue-layout-border-strong | 강조 테두리 |
| --tissue-layout-accent | 강조색 (주요 버튼·링크·포커스) |
| --tissue-layout-accent-fg | 강조색 위 전경(주로 흰색) |
| --tissue-layout-danger | 위험/오류 색 |
| --tissue-layout-danger-bg | 위험 배경 |
| --tissue-layout-radius | 모서리 반경 |
| --tissue-layout-gap | 요소 간 기본 간격 |
| --tissue-layout-page-padding | 페이지 여백 |
| --tissue-layout-container-max-width | 본문 최대 폭 |
| --tissue-layout-aside-width | 상세/스플릿 사이드 폭 |
| --tissue-layout-toolbar-height | 툴바 높이 |
Tailwind 프리셋
Tailwind 를 쓰는 앱이라면 @tissue-ui/layout-themes/tailwind 프리셋을 얹어, 같은 색·간격 값을 Tailwind 클래스로도 쓸 수 있습니다.
js
import layoutPreset from "@tissue-ui/layout-themes/tailwind";
export default { presets: [layoutPreset] };