-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgrid-template.html
More file actions
57 lines (54 loc) · 2.88 KB
/
Copy pathgrid-template.html
File metadata and controls
57 lines (54 loc) · 2.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>grid-template - grid-template-rows, grid-template-columns, grid-template-areas의 단축 속성입니다</title>
<!--
[그리드] grid-template
설명: grid-template-rows, grid-template-columns, grid-template-areas의 단축 속성입니다
구문: grid-template: none | <grid-template-rows> / <grid-template-columns> | [ <line-names>? <string> <track-size>? ]+ [ / <track-list> ]?
팁: grid-template에서는 repeat() 함수를 사용할 수 없습니다. 복잡한 반복 패턴은 개별 속성을 사용하세요.
-->
<style>
/* .grid-container: 한 속성으로 영역 + 행 크기 + 열 크기를 동시에 정의 */
.grid-container {
display: grid; /* CSS Grid 활성화 */
grid-template: /* areas + rows + (/) columns 단축 */
"header header" 50px /* 1행: header 영역, 행 높이 50px */
"nav main" 1fr /* 2행: nav | main, 행 높이 1fr (남은 공간) */
"footer footer" 40px /* 3행: footer 영역, 행 높이 40px */
/ 120px 1fr; /* / 뒤는 열 트랙: 120px 고정 + 1fr */
gap: 8px; /* 셀 사이 간격 */
padding: 16px; /* 내부 여백 */
background: #f1f5f9; /* 배경색 */
border-radius: 8px; /* 모서리 둥글게 */
height: 250px; /* 명시적 높이 (1fr 행이 동작하기 위해 필요) */
}
/* .item: 영역 공통 스타일 */
.item {
padding: 12px 16px; /* 내부 여백 */
border-radius: 6px; /* 모서리 둥글게 */
font-weight: bold; /* 굵은 글씨 */
font-size: 14px; /* 글자 크기 */
color: white; /* 글자색 */
display: flex; /* 플렉스 정렬 */
align-items: center; /* 세로 가운데 */
justify-content: center; /* 가로 가운데 */
}
/* 영역 배치 */
.header { grid-area: header; background: #3b82f6; } /* 헤더 영역 */
.nav { grid-area: nav; background: #8b5cf6; } /* 네비 영역 */
.main { grid-area: main; background: #ec4899; } /* 메인 영역 */
.footer { grid-area: footer; background: #f59e0b; } /* 푸터 영역 */
</style>
</head>
<body>
<!-- 헤더/네비/메인/푸터 4개 영역 -->
<div class="grid-container">
<div class="item header">Header</div> <!-- 1행 전체 -->
<div class="item nav">Nav</div> <!-- 2행 좌측 (120px) -->
<div class="item main">Main Content</div> <!-- 2행 우측 (남은 공간) -->
<div class="item footer">Footer</div> <!-- 3행 전체 -->
</div>
</body>
</html>