Skip to content

Soolog CSS 커스터마이징 가이드 — 무엇을 바꾸면 어디가 변하는가

현재 Soolog main.css를 기준으로 색상, 글자, 카드, 본문, 그림자, 모서리, 여백, 모바일, 다크모드를 안전하게 수정하는 방법을 한 파일에 정리한 CSS 전용 실전 가이드

Soolog CSS 커스터마이징 가이드🔗

이 문서는 현재 Soolog의 themes/dream-clay/assets/css/main.css를 기준으로 작성한 CSS 전용 가이드입니다.

목표는 CSS를 처음 보는 사람도 “이 값을 바꾸면 화면의 어디가 어떻게 변하는지” 바로 알 수 있게 만드는 것입니다.


0. 먼저 알아둘 것🔗

Soolog의 CSS는 크게 다음 순서로 생각하면 됩니다.

전체 색상/크기 변수
    ↓
기본 HTML
    ↓
사이트 헤더·홈 화면
    ↓
게시글 카드
    ↓
게시글 본문
    ↓
검색·푸터·기타 UI
    ↓
커스텀 Shortcode
    ↓
모바일 / 다크모드

가장 중요한 원칙🔗

처음에는 아래 CSS 변수만 수정하는 것을 권장합니다.

:root {
  --bg: ...;
  --surface: ...;
  --surface-2: ...;
  --ink: ...;
  --muted: ...;
  --line: ...;
  --pink: ...;
  --blue: ...;
  --mint: ...;
  --yellow: ...;
  --lav: ...;
  --peach: ...;
  --shadow: ...;
  --shadow-sm: ...;
  --radius: ...;
  --radius-sm: ...;
  --max: ...;
}

이 값을 바꾸면 사이트 전체 분위기를 한 번에 바꿀 수 있습니다.


1. Soolog의 전체 분위기를 바꾸는 곳🔗

1-1. 전체 배경🔗

검색할 문자열:

--bg:

현재 값:

--bg:#eef3f7;

이 색은 블로그 전체의 가장 바깥쪽 배경입니다.

더 푸른 클레이모피즘🔗

--bg:#eef3f8;

따뜻한 아이보리🔗

--bg:#f7f3eb;

약간 더 회색인 배경🔗

--bg:#eceff2;

여기서는 순백색 #ffffff보다 약간 색이 섞인 배경이 클레이모피즘과 더 잘 맞습니다.


1-2. 카드와 게시글 내부 배경🔗

검색:

--surface:

현재:

--surface:#f7f9fb;

이 색은 다음 영역에서 매우 중요합니다.

  • 헤더
  • 카드
  • 게시글 영역
  • 검색창
  • 버튼
  • 댓글 영역
  • 기타 흰색 계열 UI

순백색으로 만들면 화면이 쉽게 쨍해집니다.

추천 방향:

--surface:#f8fafc;

또는 따뜻한 방향:

--surface:#fbf8f2;

1-3. 한 단계 안쪽의 배경🔗

검색:

--surface-2:

현재:

--surface-2:#e5ecf2;

주로 다음에서 사용됩니다.

  • 검색 입력창
  • 탭 선택 상태
  • 스포일러
  • 코드 인라인 배경
  • 보조 UI

--surface와 너무 비슷하게 만들면 구분감이 줄어듭니다.

예:

--surface:#f8fafc;
--surface-2:#e9eef4;

2. 글자가 너무 하얗거나 너무 강할 때🔗

가장 중요한 변수입니다.

검색:

--ink:

현재:

--ink:#304052;

Soolog는 본문 글자를 순수 검정 #000으로 만들지 않는 것이 좋습니다.

추천 계열🔗

--ink:#3e4147;

조금 더 따뜻하게:

--ink:#4a4642;

약간 더 부드럽게:

--ink:#4e5157;

2-1. 보조 글자🔗

검색:

--muted:

현재:

--muted:#718094;

날짜, 태그, 설명, 메타데이터 등에 사용됩니다.

너무 진하면 본문과 차이가 없어지고, 너무 연하면 읽기 어려워집니다.

추천:

--muted:#777f88;

따뜻한 블로그:

--muted:#827a72;

3. Soolog의 포인트 색상🔗

현재 기본 팔레트는 다음과 같습니다.

--pink:#f4c8d8;
--blue:#c9dcf1;
--mint:#cfe7d5;
--yellow:#f6e1a5;
--lav:#ddd2f1;
--peach:#f2d0b6;

각 색상은 카드, 버튼, blob, callout 등에 사용됩니다.

변수 기본 역할 느낌
--pink 기본 accent 부드러운 포인트
--blue 링크/정보/카드 차분함
--mint 성공/여행/소개 산뜻함
--yellow 주의/강조 따뜻함
--lav 기본 카드/여행 은은함
--peach 소개/보조 카드 따뜻함

여행 블로그에서 특히 잘 어울리는 방향🔗

--pink:#e8cbd3;
--blue:#cbdced;
--mint:#cfe1d6;
--yellow:#eadbb0;
--lav:#dcd7ea;
--peach:#ead1bf;

기존보다 채도를 낮추면 사진과 글이 주인공이 됩니다.


4. 클레이모피즘의 핵심: 그림자🔗

검색:

--shadow:

현재 구조:

--shadow:
  8px 10px 24px rgba(94,82,72,.11),
  -7px -7px 18px rgba(255,255,255,.85);

여기서 두 번째 그림자가 너무 밝으면 화면 전체가 빛나는 흰색처럼 보이는 문제가 생깁니다.

4-1. 더 차분한 클레이모피즘🔗

--shadow:
  10px 12px 28px rgba(76,70,64,.12),
  -5px -5px 14px rgba(255,255,255,.50);

결과🔗

  • 입체감 유지
  • 흰색 glow 감소
  • 배경과 카드의 구분 증가
  • 장시간 읽을 때 눈부심 감소

4-2. 작은 UI의 그림자🔗

검색:

--shadow-sm:

버튼, 태그, 아이콘, 작은 카드에 사용됩니다.

추천:

--shadow-sm:
  4px 5px 13px rgba(76,70,64,.10),
  -3px -3px 8px rgba(255,255,255,.45);

5. 카드와 게시글을 얼마나 둥글게 만들 것인가🔗

검색:

--radius:
--radius-sm:

현재:

--radius:28px;
--radius-sm:18px;

더 둥근 클레이모피즘🔗

--radius:32px;
--radius-sm:20px;

조금 더 깔끔한 매거진 스타일🔗

--radius:22px;
--radius-sm:14px;

여행 블로그라면 28~32px 정도가 사진과 잘 어울립니다.


6. 사이트 전체 폭🔗

검색:

--max:

현재:

--max:1320px;

더 좁고 집중된 블로그🔗

--max:1080px;

사진/여행 기록을 넓게 보여주기🔗

--max:1240px;

단, 본문 자체의 가독성은 별도의 .dc-article-layout과 .dc-prose 폭이 결정하므로 --max만 바꾼다고 본문이 무조건 넓어지는 것은 아닙니다.


7. 게시글 본문을 건드리는 핵심 구역🔗

검색:

.dc-prose

현재 기본 설정:

.dc-prose{
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:1.08rem;
}

7-1. 본문 글자 크기🔗

현재:

font-size:1.08rem;

조금 작게:

font-size:1.02rem;

조금 크게:

font-size:1.12rem;

여행기는 사진 사이에 긴 설명이 들어가기 때문에 너무 작은 본문은 피하는 편이 좋습니다.


7-2. 줄 간격🔗

본문 전체의 line-height를 추가하고 싶다면:

.dc-prose{
  line-height:1.78;
}

여행기처럼 사진 + 짧은 문단이 반복되는 글에는 1.7~1.85 정도가 읽기 편합니다.


7-3. 문단 간격🔗

현재:

.dc-prose p{
  margin:1.1em 0;
}

더 여유롭게:

.dc-prose p{
  margin:1.35em 0;
}

사진 중심 여행기라면 문단 사이를 조금 넓게 두는 편이 좋습니다.


8. 제목이 너무 크거나 줄이 이상할 때🔗

H1🔗

검색:

.dc-article-head h1

현재:

.dc-article-head h1{
  max-width:none;
  font-size:clamp(2.7rem,6vw,5rem);
}

여행 블로그에서는 제목을 조금 낮추는 것도 좋습니다.

예:

.dc-article-head h1{
  max-width:none;
  font-size:clamp(2.2rem,5vw,4.2rem);
  line-height:1.18;
}

H2🔗

검색:

.dc-prose h2

현재 상단 여백:

margin-top:2.4em;

여행 글에서 섹션을 확실하게 나누고 싶으면:

.dc-prose h2{
  margin-top:2.8em;
  margin-bottom:.75em;
}

9. 한국어가 음절 단위로 깨지는 문제🔗

검색:

.dc-prose

권장:

.dc-prose{
  word-break:keep-all;
  overflow-wrap:break-word;
  hyphens:none;
}

중요한 주의점🔗

전체 body에 무조건 word-break:keep-all을 걸기보다는 본문처럼 사람이 읽는 영역 중심으로 적용하는 편이 안전합니다.

URL, 코드, 매우 긴 영문 문자열까지 같은 규칙을 적용하면 다른 문제가 생길 수 있습니다.


10. 게시글 자체를 카드처럼 만들기🔗

게시글 콘텐츠 영역을 더 명확하게 배경과 분리하고 싶다면 .dc-prose에 직접 스타일을 줄 수 있습니다.

예:

.dc-prose{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:32px;
  padding:42px 48px;
  box-shadow:var(--shadow);
}

모바일:

@media (max-width:650px){
  .dc-prose{
    padding:26px 20px;
    border-radius:24px;
  }
}

결과🔗

사이트 배경

┌──────────────────────────────┐
│                              │
│  게시글                       │
│                              │
│  사진                         │
│                              │
│  본문                         │
│                              │
└──────────────────────────────┘

사이트 배경

이 구조가 Soolog의 클레이모피즘과 가장 잘 맞는 핵심 포인트입니다.


11. 게시글 사진🔗

검색:

.dc-prose img

현재:

.dc-prose img{
  border-radius:24px;
  box-shadow:var(--shadow-sm);
  cursor:zoom-in;
  margin:24px auto;
}

사진을 더 자연스럽게🔗

.dc-prose img{
  width:auto;
  border-radius:20px;
  box-shadow:0 8px 22px rgba(65,70,76,.10);
  margin:30px auto;
}

사진에 그림자가 너무 강하면 여행 사진보다 UI가 먼저 보이므로 var(--shadow-sm) 대신 더 약한 그림자를 직접 지정하는 방법도 있습니다.


12. 인용문🔗

검색:

.dc-prose blockquote

현재는 왼쪽 컬러 바 + 카드형 배경입니다.

더 부드럽게:

.dc-prose blockquote{
  margin:28px 0;
  padding:18px 22px;
  border-left:4px solid var(--blue);
  background:var(--surface-2);
  border-radius:0 18px 18px 0;
  box-shadow:var(--shadow-sm);
  color:var(--muted);
}

13. 코드 블록🔗

검색:

.dc-prose pre

현재 어두운 코드 블록은 그대로 유지하는 편이 좋습니다.

여행 블로그에서 코드를 거의 사용하지 않는다면 이 부분은 우선순위가 낮습니다.


14. 표🔗

검색:

.dc-prose table
.dc-prose th
.dc-prose td

여행 비용표는 표가 중요한 역할을 하므로 아래처럼 조금 더 카드화할 수 있습니다.

.dc-prose table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}

단, 현재 테마의 table 기본 구조와 충돌할 수 있으므로 실제 적용 후 모바일에서 확인합니다.


15. Callout을 여행 블로그처럼 만들기🔗

검색:

.dc-callout

현재는 왼쪽 컬러 바 방식입니다.

여행용 팁 카드처럼 보이게 하려면:

.dc-callout{
  margin:28px 0;
  padding:18px 20px;
  border:1px solid var(--line);
  border-left:5px solid var(--blue);
  border-radius:20px;
  background:var(--surface-2);
  box-shadow:var(--shadow-sm);
}

추천 용도:

TIP       예약/교통/현지 팁
NOTE      실제 방문 정보
WARNING   주의사항
DANGER    안전 관련 경고

16. 카드의 높이🔗

검색:

.dc-card{

현재:

height:450px;

카드가 너무 길면:

height:420px;

짧게:

height:400px;

사진이 중요하면 .dc-card-cover의 높이도 함께 봐야 합니다.

.dc-card-cover{
  height:215px;
  flex:0 0 215px;
}

17. 카드 그림자가 너무 강할 때🔗

현재 카드 hover에 별도의 강한 그림자가 있습니다.

검색:

.dc-card:hover

강한 입체감을 줄이고 싶다면:

.dc-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 26px rgba(76,70,64,.12),-4px -4px 12px rgba(255,255,255,.45);
}

여행 사진이 많은 사이트는 hover 효과가 과한 것보다 사진 자체가 강조되는 정도가 더 안정적입니다.


18. 헤더🔗

검색:

.dc-header

주요 항목:

padding       내부 여백
border-radius 모서리
background    헤더 배경
box-shadow    입체감
backdrop-filter 투명/블러 효과

헤더가 너무 유리처럼 보이면:

.dc-header{
  background:var(--surface);
  backdrop-filter:none;
  box-shadow:var(--shadow-sm);
}

19. 버튼🔗

검색:

.dc-button

기본 버튼 크기:

padding:12px 16px;

조금 작게:

padding:10px 14px;

둥글기를 줄이려면:

border-radius:14px;

20. 링크 스타일🔗

검색:

.dc-prose a

현재는 밑줄이 있습니다.

더 차분하게:

.dc-prose a{
  color:#5b78a5;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}

여기서는 본문 색상과 너무 강하게 충돌하지 않는 중간 블루를 사용하는 것이 좋습니다.


21. 다크모드🔗

검색:

html[data-theme=dark]

여기서 다음을 바꿉니다.

--bg
--surface
--surface-2
--ink
--muted
--line
--shadow
--shadow-sm

예:

html[data-theme=dark{
  --bg:#25272b;
  --surface:#30343a;
  --surface-2:#3a3f46;
  --ink:#e6e4df;
  --muted:#a8a9aa;
  --line:rgba(255,255,255,.08);
}

실제 셀렉터는 반드시 현재 파일의 html[data-theme=dark] 표기 그대로 사용합니다.


22. 모바일에서만 바꾸는 법🔗

Soolog는 다음 구조를 사용합니다.

@media (max-width:900px){
  ...
}

@media (max-width:650px){
  ...
}

900px🔗

태블릿/작은 데스크톱 대응입니다.

650px🔗

휴대폰 대응입니다.

예:

@media (max-width:650px){
  .dc-prose{
    padding:24px 18px;
    font-size:1rem;
  }

  .dc-article-head h1{
    font-size:2.2rem;
  }
}

23. CSS를 수정할 때 가장 많이 건드릴 15개🔗

원하는 변화 찾을 문자열
전체 배경 --bg:
카드 배경 --surface:
안쪽 배경 --surface-2:
본문 글자 --ink:
보조 글자 --muted:
기본 포인트 --pink:
블루 --blue:
민트 --mint:
그림자 --shadow:
작은 그림자 --shadow-sm:
큰 둥근 모서리 --radius:
사이트 폭 --max:
본문 전체 .dc-prose
본문 제목 .dc-prose h2, .dc-prose h3
게시글 제목 .dc-article-head h1

24. 여행 블로그에 추천하는 기본 방향🔗

Soolog가 여행 블로그로 사용될 때는 다음 우선순위를 권장합니다.

사진
  ↓
본문 가독성
  ↓
배경과 카드의 구분
  ↓
부드러운 입체감
  ↓
포인트 색상
  ↓
장식

따라서 다음은 피하는 편이 좋습니다.

순백색 배경 + 강한 흰색 그림자
강한 glow
높은 채도의 포인트 색상
너무 두꺼운 외곽선
본문보다 큰 장식
과도한 hover 효과

25. 추천 여행 블로그 프리셋🔗

현재 Soolog의 클레이모피즘을 유지하면서 조금 더 차분한 여행 블로그로 만들고 싶을 때 시작점으로 사용할 수 있는 값입니다.

:root{
  --bg:#edf2f6;
  --surface:#f8fafc;
  --surface-2:#e8eef3;
  --ink:#3f454b;
  --muted:#78828b;
  --line:rgba(76,86,96,.12);

  --pink:#e7cbd4;
  --blue:#c7d9e9;
  --mint:#cce0d5;
  --yellow:#eadcaf;
  --lav:#dbd6e9;
  --peach:#ead0bd;

  --accent:var(--blue);

  --shadow:
    10px 12px 28px rgba(76,86,96,.12),
    -5px -5px 14px rgba(255,255,255,.48);

  --shadow-sm:
    4px 5px 13px rgba(76,86,96,.09),
    -3px -3px 8px rgba(255,255,255,.42);

  --radius:30px;
  --radius-sm:18px;
  --max:1180px;
}

이 값은 완성된 정답이 아니라 스타일 조정의 시작점입니다. 사진의 밝기와 배경에 따라 실제 체감이 달라질 수 있습니다.


26. 수정 순서🔗

처음 CSS를 수정한다면 다음 순서가 가장 안전합니다.

1. --bg
2. --surface
3. --surface-2
4. --ink
5. --muted
6. --shadow
7. --shadow-sm
8. --radius
9. .dc-prose
10. .dc-article-head h1
11. .dc-prose h2 / h3
12. .dc-prose img
13. .dc-callout
14. 모바일
15. 다크모드

한 번에 여러 값을 바꾸지 말고 한 번 변경 → hugo server -D로 확인 → 다음 변경 순서로 진행합니다.


27. 문제가 생겼을 때🔗

글자가 너무 하얗다🔗

먼저 검색:

color:#fff
color:white
rgba(255,255,255,

그 다음 해당 요소가 실제로 어두운 카드인지 확인합니다.


화면 전체가 너무 반짝인다🔗

먼저:

--shadow:
--shadow-sm:

의 두 번째 밝은 그림자 값을 낮춥니다.

예:

rgba(255,255,255,.85)

→

rgba(255,255,255,.45)

카드와 배경이 구분되지 않는다🔗

--bg
--surface
--surface-2

이 세 가지를 서로 충분히 다른 밝기/색조로 만듭니다.


한글이 글자 단위로 깨진다🔗

.dc-prose{
  word-break:keep-all;
  overflow-wrap:break-word;
  hyphens:none;
}

모바일만 이상하다🔗

@media (max-width:650px)를 먼저 확인합니다.


28. 변경 전 백업🔗

CSS를 크게 수정하기 전에는 파일을 복사합니다.

main.css
main.backup.css

또는 Git을 사용한다면:

git add .
git commit -m "before css redesign"

수정 후 문제가 생기면 이전 커밋으로 되돌릴 수 있습니다.


29. 마지막 체크리스트🔗

[ ] 전체 배경이 너무 밝지 않은가?
[ ] 게시글과 사이트 배경이 확실히 구분되는가?
[ ] 본문 글자가 회색/검정 계열로 편안한가?
[ ] 보조 글자가 너무 옅지 않은가?
[ ] 흰색 glow가 과하지 않은가?
[ ] 여행 사진보다 UI가 먼저 눈에 들어오지 않는가?
[ ] 제목이 모바일에서 이상하게 줄바꿈하지 않는가?
[ ] 한글 단어가 음절 단위로 깨지지 않는가?
[ ] 모바일에서 게시글 카드 안쪽 여백이 너무 크지 않은가?
[ ] 다크모드에서도 본문과 배경의 대비가 충분한가?

15. 2026-09-24 최종 게시글 레이아웃🔗

이번 버전의 게시글은 왼쪽 TOC + 오른쪽 제목/본문을 하나의 그리드로 사용합니다. 그래서 제목의 왼쪽 시작점이 실제 본문 카드와 정확히 맞습니다.

.dc-article-layout{
  grid-template-columns:minmax(210px,236px) minmax(0,1fr);
  gap:34px;
}

.dc-article-head h1🔗

게시글 최상단 제목입니다. 데스크톱에서는 한 줄을 우선하고, 너무 길면 시각적으로 잘리지 않고 title 속성에서 전체 제목을 확인할 수 있습니다. 모바일에서는 자연스럽게 줄바꿈합니다.

.dc-prose🔗

실제 Markdown 본문 박스입니다. background, box-shadow, border-radius, padding을 조정하면 포스트 카드의 독립적인 느낌을 바꿀 수 있습니다.

.dc-toc🔗

왼쪽 목차입니다. position: sticky, max-height, overflow-y:auto가 핵심입니다. 목차가 길어져도 목차 내부만 스크롤합니다.

.dc-toc a.is-active🔗

현재 읽는 섹션입니다. main.js가 현재 H2/H3 위치를 감지해 자동으로 클래스를 붙이고, TOC 내부 스크롤도 현재 항목을 보여주도록 조정합니다.


16. 모바일에서 바뀌는 점🔗

900px 이하에서는 데스크톱의 좌측 TOC를 본문 아래의 작은 목차 박스로 바꿉니다. 휴대폰에서 화면을 가로로 밀어버리는 sticky TOC를 피하기 위한 의도적인 반응형 동작입니다.


17. 긴 URL과 코드🔗

한국어 일반 문장은 word-break: keep-all을 적용하지만, URL과 코드에는 별도 규칙을 적용합니다.

.dc-prose pre{overflow:auto;white-space:pre;}
.dc-prose code{overflow-wrap:anywhere;}
.dc-prose pre code{overflow-wrap:normal;}

이 조합으로 여행 준비물 추천처럼 한국어가 한 음절씩 끊기는 문제는 줄이고, 긴 URL/코드는 화면 밖으로 튀어나오는 문제를 막습니다.