미디어위키:Common.css
참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.
- 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
- 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
- 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
/* 이 CSS 설정은 모든 스킨에 적용됩니다 */
/* ===============================
Google Fonts: Inter
=============================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
/* ===============================
기본 폰트
=============================== */
.mw-parser-output {
font-family: 'Inter', -apple-system, BlinkMacSystemFont,
'Apple SD Gothic Neo', 'Noto Sans KR',
system-ui, sans-serif;
}
/* 문서 제목 + 섹션 제목 */
#firstHeading,
.mw-parser-output h2,
.mw-parser-output h3,
.mw-parser-output h4,
.mw-parser-output h5 {
font-family: 'Inter', -apple-system, BlinkMacSystemFont,
'Apple SD Gothic Neo', 'Noto Sans KR',
system-ui, sans-serif;
}
/* ===============================
Heading 번호 매기기 (h2 ~ h5)
1.
1.1
1.1.1
1.1.1.1
=============================== */
/* h2 기준 카운터 초기화 */
.mw-parser-output { counter-reset: h2; }
/* ---------- h2 ---------- */
.mw-parser-output h2 {
counter-reset: h3;
font-size: 27px;
font-weight: 500;
}
.mw-parser-output h2 .mw-headline::before {
counter-increment: h2;
content: counter(h2) ". ";
margin-right: 2px;
font-size: 27px;
font-weight: 500;
}
/* ---------- h3 ---------- */
.mw-parser-output h3 {
counter-reset: h4;
font-size: 22px;
font-weight: 500;
}
.mw-parser-output h3 .mw-headline::before {
counter-increment: h3;
content: counter(h2) "." counter(h3) " ";
margin-right: 2px;
font-size: 22px;
font-weight: 500;
}
/* ---------- h4 ---------- */
.mw-parser-output h4 {
counter-reset: h5;
font-size: 20px;
font-weight: 500;
}
.mw-parser-output h4 .mw-headline::before {
counter-increment: h4;
content: counter(h2) "." counter(h3) "." counter(h4) " ";
margin-right: 2px;
font-size: 20px;
font-weight: 500;
}
/* ---------- h5 ---------- */
.mw-parser-output h5 {
font-size: 18px;
font-weight: 500;
}
.mw-parser-output h5 .mw-headline::before {
counter-increment: h5;
content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) " ";
margin-right: 2px;
font-size: 18px;
font-weight: 500;
}
/* ===============================
Heading 하단 구분선 + 여백 (h2 ~ h5)
=============================== */
.mw-parser-output h1,
.mw-parser-output h2,
.mw-parser-output h3,
.mw-parser-output h4,
.mw-parser-output h5 {
border-bottom: 1px solid #ccc;
padding-bottom: 5px;
margin: 1.2em 0 0.8em;
/* 접기 UX */
cursor: pointer;
}
/* ===============================
Heading 제목 ↔ 편집 링크 정렬
- :has() 제거
- 기본: flex-start
- JS가 .mw-has-editsection 클래스를 붙이면 space-between
=============================== */
.mw-parser-output h1,
.mw-parser-output h2,
.mw-parser-output h3,
.mw-parser-output h4,
.mw-parser-output h5 {
display: flex;
align-items: center;
justify-content: flex-start; /* 기본 */
}
/* 제목 텍스트 */
.mw-parser-output .mw-headline {
flex: 1 1 auto;
min-width: 0; /* 긴 제목 줄바꿈 안정화 */
}
/* 편집 링크 */
.mw-parser-output .mw-editsection {
flex: 0 0 auto;
font-size: 12px;
white-space: nowrap;
margin-left: 12px;
}
/* 편집 링크가 있을 때만 양끝 정렬 (JS가 클래스 부여) */
.mw-parser-output h2.mw-has-editsection,
.mw-parser-output h3.mw-has-editsection,
.mw-parser-output h4.mw-has-editsection,
.mw-parser-output h5.mw-has-editsection {
justify-content: space-between;
}
/* ===============================
[편집 | 원본편집] → [편집]
=============================== */
/* '원본 편집' 링크 숨김 */
.mw-editsection a:last-of-type { display: none; }
/* 구분자(|) 숨김 */
.mw-editsection .mw-editsection-divider { display: none; }
/* ===============================
접기/펼치기 (h2~h5)
- JS가 h2~h5에 아이콘(.mw-fold-icon)을 직계 자식으로 prepend
- 접힌 상태: .mw-fold-collapsed
=============================== */
/* 접힌 상태에서 본문 숨김 */
.mw-parser-output .mw-fold-collapsed + .mw-fold-content {
display: none;
}
/* 기본: 아이콘 없으면 패딩 없음 */
.mw-parser-output h2,
.mw-parser-output h3,
.mw-parser-output h4,
.mw-parser-output h5 {
position: relative;
padding-left: 0;
}
/* JS가 붙이는 클래스(.mw-has-fold-icon)로 아이콘 자리만 확보 */
.mw-parser-output h2.mw-has-fold-icon,
.mw-parser-output h3.mw-has-fold-icon,
.mw-parser-output h4.mw-has-fold-icon,
.mw-parser-output h5.mw-has-fold-icon {
padding-left: 26px;
}
/* 아이콘 */
.mw-parser-output .mw-fold-icon {
position: absolute;
left: 0;
top: 50%;
width: 20px;
height: 20px;
transform: translateY(-50%) rotate(90deg); /* 기본: 펼침 */
transform-origin: 50% 50%;
transition: transform 150ms ease;
background: no-repeat center / contain
url("https://interior.wiki/images/thumb/e/e3/Icon_caretright.png/600px-Icon_caretright.png?20260120083456");
}
/* 접힘 상태 → 오른쪽 */
.mw-parser-output .mw-fold-collapsed .mw-fold-icon {
transform: translateY(-50%) rotate(0deg);
}
/* ===============================
TOC(목차) 번호 표시
- Vector 2022(.vector-toc)
- 구형 TOC(#toc/.toc)
- 중복 tocnumber 숨김
=============================== */
/* 구형 TOC 기본 숫자 숨김(중복 방지) */
#toc .tocnumber,
.toc .tocnumber { display: none; }
/* Vector 2022 TOC: Top(처음 위치) 항목 숨김 */
.vector-toc a[href="#top"],
.vector-toc a[href="#mw-head"],
.vector-toc a[href^="#mw-head"],
.vector-toc a[rel="mw:PageProp/TOC"] {
display: none !important;
}
/* Vector 2022: 카운터 초기화 */
.vector-toc { counter-reset: toc2; }
.vector-toc .vector-toc-level-1 { counter-reset: toc3; }
.vector-toc .vector-toc-level-2 { counter-reset: toc4; }
.vector-toc .vector-toc-level-3 { counter-reset: toc5; }
/* 레벨1(h2): 1. */
.vector-toc .vector-toc-level-1 > a .vector-toc-text::before {
counter-increment: toc2;
content: counter(toc2) ". ";
margin-right: 2px;
font-weight: 600;
}
/* 레벨2(h3): 1.1 */
.vector-toc .vector-toc-level-2 > a .vector-toc-text::before {
counter-increment: toc3;
content: counter(toc2) "." counter(toc3) " ";
margin-right: 2px;
font-weight: 500;
}
/* 레벨3(h4): 1.1.1 */
.vector-toc .vector-toc-level-3 > a .vector-toc-text::before {
counter-increment: toc4;
content: counter(toc2) "." counter(toc3) "." counter(toc4) " ";
margin-right: 2px;
font-weight: 400;
}
/* 레벨4(h5): 1.1.1.1 */
.vector-toc .vector-toc-level-4 > a .vector-toc-text::before {
counter-increment: toc5;
content: counter(toc2) "." counter(toc3) "." counter(toc4) "." counter(toc5) " ";
margin-right: 2px;
font-weight: 400;
}
/* 최상위(=h2 레벨)에서 첫 항목(처음 위치)만 숨김 */
.vector-toc li.vector-toc-level-1:first-child {
display: none !important;
}
/* ---- 구형 TOC(#toc/.toc) 번호 ---- */
#toc,
.toc { counter-reset: toc1; }
#toc .toclevel-1,
.toc .toclevel-1 { counter-reset: toc2; }
#toc .toclevel-2,
.toc .toclevel-2 { counter-reset: toc3; }
#toc .toclevel-3,
.toc .toclevel-3 { counter-reset: toc4; }
/* 1단계 */
#toc .toclevel-1 > a .toctext::before,
.toc .toclevel-1 > a .toctext::before {
counter-increment: toc1;
content: counter(toc1) ". ";
margin-right: 2px;
}
/* 2단계 */
#toc .toclevel-2 > a .toctext::before,
.toc .toclevel-2 > a .toctext::before {
counter-increment: toc2;
content: counter(toc1) "." counter(toc2) " ";
margin-right: 2px;
}
/* 3단계 */
#toc .toclevel-3 > a .toctext::before,
.toc .toclevel-3 > a .toctext::before {
counter-increment: toc3;
content: counter(toc1) "." counter(toc2) "." counter(toc3) " ";
margin-right: 2px;
}
/* 4단계(h5) */
#toc .toclevel-4 > a .toctext::before,
.toc .toclevel-4 > a .toctext::before {
counter-increment: toc4;
content: counter(toc1) "." counter(toc2) "." counter(toc3) "." counter(toc4) " ";
margin-right: 2px;
}
/* TOC 토글 숨김(원본 유지) */
span.toctogglespan { display: none; }
/* ✅ Minerva에서는 TOC 토글(목차 열기 UI)이 필요할 수 있으니 복원 */
body.skin-minerva span.toctogglespan { display: inline !important; }
h2#mw-toc-heading { margin: 4px 0 8px; }
/* ===============================
Sticky header 폰트 (Vector 2022)
=============================== */
.vector-sticky-header-context-bar-primary,
.vector-sticky-header-context-bar-primary a,
.vector-sticky-header-context-bar-primary span {
font-family: 'Inter', -apple-system, BlinkMacSystemFont,
'Apple SD Gothic Neo', 'Noto Sans KR',
system-ui, sans-serif !important;
}
/* ===============================
레거시 Vector: TOC(좌) + 인포박스(우)
=============================== */
body.skin-vector:not(.skin-vector-2022) #toc.toc {
float: left;
margin: 0 16px 12px 0;
}
body.skin-vector:not(.skin-vector-2022) .iw-matbox,
body.skin-vector:not(.skin-vector-2022) table.wikitable[style*="float:right"] {
width: 360px;
margin-bottom: 12px;
}
body.skin-vector:not(.skin-vector-2022) .iw-topclear {
clear: both;
height: 8px;
}
/* ===============================
하단 분류 박스
=============================== */
div#catlinks.catlinks {
margin-top: 80px;
padding: 4px 8px;
font-size: 14px;
background: #fff;
border-radius: 4px;
}
/* 레거시 Vector: TOC 옆으로 본문 텍스트가 말려 올라오는 현상 방지 */
body.skin-vector:not(.skin-vector-2022) #toc.toc + h2,
body.skin-vector:not(.skin-vector-2022) .toc + h2 {
clear: left;
}
/* TOC 제목 접기 아이콘 완전 제거 */
#mw-toc-heading .mw-fold-icon {
display: none !important;
}
/* 아이콘 공간 때문에 생긴 왼쪽 여백 제거 */
#mw-toc-heading.mw-has-fold-icon,
#mw-toc-heading.mw-fold-has-content {
padding-left: 0 !important;
margin-left: 0 !important;
text-indent: 0 !important;
}
/* 가상요소까지 제거 */
#mw-toc-heading::before,
#mw-toc-heading::after {
content: none !important;
}
/* 도움말 문서: 헤더 편집 링크 전체 숨김 */
.ns-12 .mw-editsection {
display: none;
}
/* 1) TOC(목차) 내부는 무조건 불릿 제거 */
#toc ul, .toc ul {
list-style: none !important;
list-style-image: none !important;
}
#toc li::marker, .toc li::marker {
content: "" !important;
}
/* 2) 본문 ul 중에서 "TOC 안에 있는 ul"만 제외하고 적용 */
#mw-content-text .mw-parser-output ul:not(#toc ul):not(.toc ul) {
list-style-image: none !important;
list-style-type: disc !important;
}
#mw-content-text .mw-parser-output ul:not(#toc ul):not(.toc ul) ul {
list-style-type: circle !important;
}
#mw-content-text .mw-parser-output ul:not(#toc ul):not(.toc ul) ul ul {
list-style-type: square !important;
}
/* 대문에서만 내부 링크 색상 */
body.page-대문 .mw-parser-output a:not(.new) {
color: #202122;
}
body.page-대문 .mw-parser-output a:not(.new):visited {
color: #202122;
}
body.page-대문 .mw-parser-output a:not(.new):hover {
color: #202122;
text-decoration: underline;
}
/* 빨간 링크 */
body.page-대문 .mw-parser-output a.new {
color: #d32f2f;
}
/* ===============================
로고수정
=============================== */
#p-logo .mw-wiki-logo {
width: auto !important;
height: auto !important;
}
#p-logo .mw-wiki-logo::after {
content: "인테리어 위키";
font-size: 20px;
font-weight: 600;
color: #1f2937;
line-height: 1;
}
#p-logo {
padding-left: 16px;
padding-top: 16px;
height: 48px;
align-items: center !important;
}
#p-logo a {
display: flex;
align-items: center;
text-decoration: none;
}
/* ===============================
✅ Minerva: TOC가 접기 시스템에 의해 숨겨지는 문제 방지(안전망)
=============================== */
body.skin-minerva #mw-toc-heading {
cursor: default !important;
display: block !important; /* 전역 flex 영향 차단 */
}
/* TOC 제목 다음에 생기는 fold-content는 항상 노출 */
body.skin-minerva #mw-toc-heading + .mw-fold-content {
display: block !important;
height: auto !important;
overflow: visible !important;
}
/* ===============================
Minerva: TOC(목차) 내용이 사라지는 문제 - 강제 표시(강제 복구)
=============================== */
/* 1) 원래 구조(#toc 안에 ul)가 있으면 무조건 보이게 */
body.skin-minerva #toc.toc,
body.skin-minerva #toc.toc > ul,
body.skin-minerva #toc.toc ul {
display: block !important;
visibility: visible !important;
opacity: 1 !important;
height: auto !important;
max-height: none !important;
overflow: visible !important;
}
/* 2) 토글 체크박스가 어떤 상태든 ul 숨김 규칙을 무력화 */
body.skin-minerva #toc.toc > .toctogglecheckbox:checked ~ ul,
body.skin-minerva #toc.toc > .toctogglecheckbox:not(:checked) ~ ul {
display: block !important;
height: auto !important;
max-height: none !important;
overflow: visible !important;
}
/* 3) (중요) 접기 JS가 TOC ul을 .mw-fold-content로 옮겨버린 경우까지 커버
- #mw-toc-heading 주변에 생긴 fold-content / ul을 전부 강제 표시 */
body.skin-minerva #mw-toc-heading + .mw-fold-content,
body.skin-minerva #mw-toc-heading + .mw-fold-content ul,
body.skin-minerva #mw-toc-heading ~ ul {
display: block !important;
visibility: visible !important;
height: auto !important;
max-height: none !important;
overflow: visible !important;
}
/* 4) Minerva에서 TOC 토글 UI는 혼동만 주면 숨김(원하면 삭제 가능) */
body.skin-minerva #toc.toc .toctogglespan {
display: none !important;
}
/* ===============================
TOC(목차) 크기/여백/스타일 축소
=============================== */
/* TOC 전체 박스 */
#toc.toc {
font-size: 14px;
line-height: 1.45;
padding: 10px 12px;
margin: 8px 0 16px;
}
/* TOC 제목(h2)은 "문서 섹션 제목" 스타일 적용 금지 */
#toc.toc #mw-toc-heading {
all: unset;
display: inline-block;
font-size: 14px;
font-weight: 600;
line-height: 1.2;
}
/* "목차" 제목줄(toctitle) 정리 */
#toc.toc .toctitle {
display: inline-block;
align-items: center;
gap: 8px;
margin: 0 0 6px;
padding: 0;
border: 0;
width: fit-content;
max-width: 100%
}
/* TOC 리스트 여백 축소 */
#toc.toc > ul {
margin: 0;
padding-left: 0; /* 불릿 제거를 이미 하고 있으니 0이 깔끔 */
width: fit-content;
max-width: 100%;
}
/* TOC 항목 간격 축소 */
#toc.toc li {
margin: 2px 0;
padding: 0;
white-space: nowrap;
}
/* TOC 링크 */
#toc.toc a {
font-size: 14px;
text-decoration: none;
}
/* 하위 레벨 들여쓰기만 최소로 */
#toc.toc .toclevel-2 { padding-left: 12px; }
#toc.toc .toclevel-3 { padding-left: 24px; }
#toc.toc .toclevel-4 { padding-left: 36px; }