카페 메뉴 웹문서 시스템 - 디자인 안정화 가이드
🚨 중요: 디자인 깨짐 방지를 위한 필수 지침
이 문서는 웹문서 시스템의 디자인 일관성을 유지하고 CSS 충돌을 방지하기 위한 가이드입니다.
1. 문제의 원인
CSS 파일 충돌
- 여러 CSS 파일이 중복/충돌하며 적용됨
- 기존 styles.css와 새로운 CSS 파일들 간의 충돌
- 변환 중단 후 재시작 시 CSS 파일이 중복 추가됨
HTML 구조 불일치
- HTML 구조가 파일마다 다름
- container vs wrapper 사용 혼재
- sidebar vs aside 태그 혼용
2. 즉시 적용 가능한 해결책
A. 단일 통합 CSS 사용 (권장)
# 1. webdoc 폴더로 이동
cd /Users/[개발자]/work/workspace/ai/claude/cafe/cafe_menu/webdoc
# 2. 기존 CSS 백업
mkdir css_backup
cp *.css css_backup/
# 3. 통합 CSS 하나만 사용
# modern.css 사용 권장
B. 안전한 HTML 템플릿 사용
모든 HTML 파일은 다음 구조를 따라야 함:
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>페이지 제목 - 카페 메뉴 가이드</title>
<link rel="stylesheet" href="modern.css">
</head>
<body>
<header>
<div class="header-container">
<div class="logo">☕ CAFE GUIDE</div>
<nav>
<!-- 네비게이션 -->
</nav>
</div>
</header>
<div class="layout-container">
<aside class="sidebar">
<!-- 사이드바 내용 -->
</aside>
<main>
<div class="content-wrapper">
<div class="content">
<!-- 메인 콘텐츠 -->
</div>
</div>
</main>
</div>
<footer>
<div class="footer-content">
<p>© 2025 카페 메뉴 가이드. 모든 권리 보유.</p>
</div>
</footer>
</body>
</html>
3. 모범 사례
✅ 권장 사항
- modern.css 단일 파일 사용
- 일관된 HTML 구조 유지
- 클래스명 규칙 준수
- 정기적인 백업
❌ 피해야 할 사항
- 여러 CSS 파일 동시 링크
- 인라인 스타일 과도한 사용
- 구조 변경 시 부분 수정
- 테스트 없는 대량 변환
변환 작업 체크리스트
긴급 복구 방법
디자인이 깨졌을 때
- 백업 파일로 즉시 복구
- CSS 링크 확인 (중복 제거)
- 브라우저 캐시 삭제
- 단계별 재변환 실시
4. 통합 CSS 파일 예제
다음은 충돌을 방지하기 위한 통합 CSS 파일의 예제입니다:
/* unified_style.css - 리셋 및 기본 설정 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* 한글 폰트 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;700&display=swap');
body {
font-family: 'Noto Sans KR', sans-serif;
line-height: 1.6;
color: #333;
}
/* 메인 레이아웃 */
.app-container {
display: flex;
min-height: 100vh;
}
/* 사이드바 */
.app-sidebar {
width: 280px;
background: #2c3e50;
color: white;
padding: 20px;
overflow-y: auto;
position: fixed;
height: 100vh;
}
.app-sidebar h2 {
margin-bottom: 20px;
font-size: 1.5rem;
}
.app-sidebar ul {
list-style: none;
}
.app-sidebar a {
color: white;
text-decoration: none;
display: block;
padding: 10px;
margin: 5px 0;
border-radius: 5px;
transition: background 0.3s;
}
.app-sidebar a:hover {
background: rgba(255,255,255,0.1);
}
/* 메인 콘텐츠 */
.app-content {
margin-left: 280px;
padding: 40px;
width: 100%;
background: #f5f5f5;
}
.content-wrapper {
max-width: 1000px;
margin: 0 auto;
background: white;
padding: 40px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
/* 반응형 */
@media (max-width: 768px) {
.app-container {
flex-direction: column;
}
.app-sidebar {
position: relative;
width: 100%;
height: auto;
}
.app-content {
margin-left: 0;
padding: 20px;
}
}
5. 변환 스크립트 예제
Python을 사용한 일괄 변환 스크립트:
# convert_to_unified.py
import os
from pathlib import Path
def convert_to_unified_style():
webdoc_dir = Path("/Users/[개발자]/work/workspace/ai/claude/cafe/cafe_menu/webdoc")
for html_file in webdoc_dir.glob("*.html"):
with open(html_file, 'r', encoding='utf-8') as f:
content = f.read
# 모든 CSS 링크 제거
import re
content = re.sub(r']*\.css[^>]*>', '', content)
# 통합 CSS만 추가
content = content.replace(
'',
'
'
)
# 클래스명 통일
content = content.replace('class="container"', 'class="app-container"')
content = content.replace('class="sidebar"', 'class="app-sidebar"')
content = content.replace('class="content"', 'class="app-content"')
with open(html_file, 'w', encoding='utf-8') as f:
f.write(content)
6. 문제 발생 시 복구 방법
# 1. 모든 HTML 파일의 CSS 링크 초기화
find . -name "*.html" -exec sed -i '' '/|
|' {} \;
7. 권장 작업 순서
-
백업 생성
cp -r webdoc webdoc_backup_$(date +%Y%m%d)
-
통합 CSS 생성
unified_style.css 파일을 생성하고 위의 코드를 저장
-
일괄 변환
모든 HTML 파일을 한 번에 변환 (중간에 중단하지 않기)
-
테스트
- 브라우저 캐시 삭제 (Ctrl+F5)
- 주요 페이지 5개 이상 확인
-
문제 시 롤백
rm -rf webdoc cp -r webdoc_backup_0129 webdoc
8. 절대 하지 말아야 할 것
- ❌ 여러 CSS 파일을 중복으로 링크
- ❌ 변환 중간에 중단
- ❌ 부분적으로만 수정
- ❌ 클래스명을 일관성 없이 사용
- ❌ 백업 없이 작업
9. 최종 확인 사항
브라우저 콘솔에서 다음 코드를 실행하여 CSS 파일을 확인하세요:
// 브라우저 콘솔에서 실행
Array.from(document.querySelectorAll('link[rel="stylesheet"]')).forEach(link => {
console.log(link.href);
});
// 결과: unified_style.css 하나만 나와야 함
💡 핵심 요약
디자인 안정성을 위해서는 modern.css 단일 파일을 사용하고, 모든 HTML 파일에서 동일한 구조를 유지하는 것이 가장 중요합니다. 변환 작업 시에는 항상 백업을 먼저 수행하고, 소규모로 테스트한 후 전체에 적용하세요.
중요: 이 가이드를 따르면 디자인 깨짐 없이 안정적인 웹문서 시스템을 유지할 수 있습니다.