1<!DOCTYPE html>
2<html lang="ko">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>Flexbox ๋ ์ด์์ ์์ </title>
7 <link rel="stylesheet" href="style.css">
8</head>
9<body>
10 <h1>Flexbox ๋ ์ด์์ ์์ </h1>
11
12 <!-- 1. ๊ธฐ๋ณธ Flex ์ปจํ
์ด๋ -->
13 <section class="section">
14 <h2>1. ๊ธฐ๋ณธ Flex ์ปจํ
์ด๋</h2>
15 <p><code>display: flex</code>๋ฅผ ์ ์ฉํ๋ฉด ์์ ์์๋ค์ด ๊ฐ๋ก๋ก ๋ฐฐ์น๋ฉ๋๋ค.</p>
16
17 <div class="flex-container basic">
18 <div class="flex-item">1</div>
19 <div class="flex-item">2</div>
20 <div class="flex-item">3</div>
21 </div>
22 </section>
23
24 <!-- 2. flex-direction -->
25 <section class="section">
26 <h2>2. flex-direction</h2>
27
28 <h3>row (๊ธฐ๋ณธ๊ฐ)</h3>
29 <div class="flex-container direction-row">
30 <div class="flex-item">1</div>
31 <div class="flex-item">2</div>
32 <div class="flex-item">3</div>
33 </div>
34
35 <h3>row-reverse</h3>
36 <div class="flex-container direction-row-reverse">
37 <div class="flex-item">1</div>
38 <div class="flex-item">2</div>
39 <div class="flex-item">3</div>
40 </div>
41
42 <h3>column</h3>
43 <div class="flex-container direction-column">
44 <div class="flex-item">1</div>
45 <div class="flex-item">2</div>
46 <div class="flex-item">3</div>
47 </div>
48
49 <h3>column-reverse</h3>
50 <div class="flex-container direction-column-reverse">
51 <div class="flex-item">1</div>
52 <div class="flex-item">2</div>
53 <div class="flex-item">3</div>
54 </div>
55 </section>
56
57 <!-- 3. justify-content (์ฃผ์ถ ์ ๋ ฌ) -->
58 <section class="section">
59 <h2>3. justify-content (์ฃผ์ถ ์ ๋ ฌ)</h2>
60
61 <h3>flex-start (๊ธฐ๋ณธ๊ฐ)</h3>
62 <div class="flex-container justify-start">
63 <div class="flex-item">1</div>
64 <div class="flex-item">2</div>
65 <div class="flex-item">3</div>
66 </div>
67
68 <h3>flex-end</h3>
69 <div class="flex-container justify-end">
70 <div class="flex-item">1</div>
71 <div class="flex-item">2</div>
72 <div class="flex-item">3</div>
73 </div>
74
75 <h3>center</h3>
76 <div class="flex-container justify-center">
77 <div class="flex-item">1</div>
78 <div class="flex-item">2</div>
79 <div class="flex-item">3</div>
80 </div>
81
82 <h3>space-between</h3>
83 <div class="flex-container justify-between">
84 <div class="flex-item">1</div>
85 <div class="flex-item">2</div>
86 <div class="flex-item">3</div>
87 </div>
88
89 <h3>space-around</h3>
90 <div class="flex-container justify-around">
91 <div class="flex-item">1</div>
92 <div class="flex-item">2</div>
93 <div class="flex-item">3</div>
94 </div>
95
96 <h3>space-evenly</h3>
97 <div class="flex-container justify-evenly">
98 <div class="flex-item">1</div>
99 <div class="flex-item">2</div>
100 <div class="flex-item">3</div>
101 </div>
102 </section>
103
104 <!-- 4. align-items (๊ต์ฐจ์ถ ์ ๋ ฌ) -->
105 <section class="section">
106 <h2>4. align-items (๊ต์ฐจ์ถ ์ ๋ ฌ)</h2>
107
108 <h3>stretch (๊ธฐ๋ณธ๊ฐ)</h3>
109 <div class="flex-container align-stretch" style="height: 150px;">
110 <div class="flex-item">1</div>
111 <div class="flex-item">2</div>
112 <div class="flex-item">3</div>
113 </div>
114
115 <h3>flex-start</h3>
116 <div class="flex-container align-start" style="height: 150px;">
117 <div class="flex-item">1</div>
118 <div class="flex-item" style="padding: 30px;">2</div>
119 <div class="flex-item">3</div>
120 </div>
121
122 <h3>flex-end</h3>
123 <div class="flex-container align-end" style="height: 150px;">
124 <div class="flex-item">1</div>
125 <div class="flex-item" style="padding: 30px;">2</div>
126 <div class="flex-item">3</div>
127 </div>
128
129 <h3>center</h3>
130 <div class="flex-container align-center" style="height: 150px;">
131 <div class="flex-item">1</div>
132 <div class="flex-item" style="padding: 30px;">2</div>
133 <div class="flex-item">3</div>
134 </div>
135
136 <h3>baseline</h3>
137 <div class="flex-container align-baseline" style="height: 150px;">
138 <div class="flex-item" style="font-size: 12px;">์์ ํ
์คํธ</div>
139 <div class="flex-item" style="font-size: 24px;">ํฐ ํ
์คํธ</div>
140 <div class="flex-item" style="font-size: 16px;">์ค๊ฐ ํ
์คํธ</div>
141 </div>
142 </section>
143
144 <!-- 5. flex-wrap -->
145 <section class="section">
146 <h2>5. flex-wrap</h2>
147
148 <h3>nowrap (๊ธฐ๋ณธ๊ฐ)</h3>
149 <div class="flex-container wrap-nowrap">
150 <div class="flex-item wide">1</div>
151 <div class="flex-item wide">2</div>
152 <div class="flex-item wide">3</div>
153 <div class="flex-item wide">4</div>
154 <div class="flex-item wide">5</div>
155 </div>
156
157 <h3>wrap</h3>
158 <div class="flex-container wrap-wrap">
159 <div class="flex-item wide">1</div>
160 <div class="flex-item wide">2</div>
161 <div class="flex-item wide">3</div>
162 <div class="flex-item wide">4</div>
163 <div class="flex-item wide">5</div>
164 </div>
165
166 <h3>wrap-reverse</h3>
167 <div class="flex-container wrap-reverse">
168 <div class="flex-item wide">1</div>
169 <div class="flex-item wide">2</div>
170 <div class="flex-item wide">3</div>
171 <div class="flex-item wide">4</div>
172 <div class="flex-item wide">5</div>
173 </div>
174 </section>
175
176 <!-- 6. flex-grow, flex-shrink, flex-basis -->
177 <section class="section">
178 <h2>6. flex-grow, flex-shrink, flex-basis</h2>
179
180 <h3>flex-grow</h3>
181 <div class="flex-container">
182 <div class="flex-item" style="flex-grow: 1;">grow: 1</div>
183 <div class="flex-item" style="flex-grow: 2;">grow: 2</div>
184 <div class="flex-item" style="flex-grow: 1;">grow: 1</div>
185 </div>
186
187 <h3>flex-basis</h3>
188 <div class="flex-container">
189 <div class="flex-item" style="flex-basis: 100px;">basis: 100px</div>
190 <div class="flex-item" style="flex-basis: 200px;">basis: 200px</div>
191 <div class="flex-item" style="flex-basis: 150px;">basis: 150px</div>
192 </div>
193
194 <h3>flex ๋จ์ถ ์์ฑ</h3>
195 <div class="flex-container">
196 <div class="flex-item" style="flex: 1;">flex: 1</div>
197 <div class="flex-item" style="flex: 2;">flex: 2</div>
198 <div class="flex-item" style="flex: 1;">flex: 1</div>
199 </div>
200 </section>
201
202 <!-- 7. align-self -->
203 <section class="section">
204 <h2>7. align-self (๊ฐ๋ณ ์ ๋ ฌ)</h2>
205
206 <div class="flex-container align-center" style="height: 200px;">
207 <div class="flex-item" style="align-self: flex-start;">start</div>
208 <div class="flex-item" style="align-self: center;">center</div>
209 <div class="flex-item" style="align-self: flex-end;">end</div>
210 <div class="flex-item" style="align-self: stretch;">stretch</div>
211 </div>
212 </section>
213
214 <!-- 8. order -->
215 <section class="section">
216 <h2>8. order (์์ ๋ณ๊ฒฝ)</h2>
217
218 <div class="flex-container">
219 <div class="flex-item" style="order: 3;">1 (order: 3)</div>
220 <div class="flex-item" style="order: 1;">2 (order: 1)</div>
221 <div class="flex-item" style="order: 2;">3 (order: 2)</div>
222 </div>
223 </section>
224
225 <!-- 9. gap -->
226 <section class="section">
227 <h2>9. gap (๊ฐ๊ฒฉ)</h2>
228
229 <h3>gap: 20px</h3>
230 <div class="flex-container" style="gap: 20px;">
231 <div class="flex-item">1</div>
232 <div class="flex-item">2</div>
233 <div class="flex-item">3</div>
234 </div>
235
236 <h3>row-gap: 30px, column-gap: 10px</h3>
237 <div class="flex-container wrap-wrap" style="row-gap: 30px; column-gap: 10px;">
238 <div class="flex-item wide">1</div>
239 <div class="flex-item wide">2</div>
240 <div class="flex-item wide">3</div>
241 <div class="flex-item wide">4</div>
242 </div>
243 </section>
244
245 <!-- 10. ์ค์ ์์ : ์์ ์ค์ ์ ๋ ฌ -->
246 <section class="section">
247 <h2>10. ์ค์ ์์ : ์์ ์ค์ ์ ๋ ฌ</h2>
248
249 <div class="flex-container center-perfect" style="height: 200px;">
250 <div class="flex-item">์์ ์ค์!</div>
251 </div>
252 </section>
253
254 <!-- 11. ์ค์ ์์ : ๋ค๋น๊ฒ์ด์
๋ฐ -->
255 <section class="section">
256 <h2>11. ์ค์ ์์ : ๋ค๋น๊ฒ์ด์
๋ฐ</h2>
257
258 <nav class="navbar">
259 <div class="logo">Logo</div>
260 <ul class="nav-links">
261 <li><a href="#">Home</a></li>
262 <li><a href="#">About</a></li>
263 <li><a href="#">Services</a></li>
264 <li><a href="#">Contact</a></li>
265 </ul>
266 </nav>
267 </section>
268
269 <!-- 12. ์ค์ ์์ : ์นด๋ ๋ ์ด์์ -->
270 <section class="section">
271 <h2>12. ์ค์ ์์ : ์นด๋ ๋ ์ด์์</h2>
272
273 <div class="card-container">
274 <div class="card">
275 <div class="card-header">Card 1</div>
276 <div class="card-body">
277 <p>๋ด์ฉ์ด ๋ค์ด๊ฐ๋๋ค.</p>
278 </div>
279 <div class="card-footer">
280 <button>์์ธํ</button>
281 </div>
282 </div>
283 <div class="card">
284 <div class="card-header">Card 2</div>
285 <div class="card-body">
286 <p>์กฐ๊ธ ๋ ๊ธด ๋ด์ฉ์ด ๋ค์ด๊ฐ๋๋ค. ์นด๋ ๋์ด๊ฐ ๋ค๋ฅผ ์ ์์ต๋๋ค.</p>
287 </div>
288 <div class="card-footer">
289 <button>์์ธํ</button>
290 </div>
291 </div>
292 <div class="card">
293 <div class="card-header">Card 3</div>
294 <div class="card-body">
295 <p>๋ด์ฉ</p>
296 </div>
297 <div class="card-footer">
298 <button>์์ธํ</button>
299 </div>
300 </div>
301 </div>
302 </section>
303
304 <footer>
305 <p>© 2024 Flexbox ๋ ์ด์์ ์์ </p>
306 <p><a href="grid.html">Grid ๋ ์ด์์ ์์ ๋ณด๊ธฐ โ</a></p>
307 </footer>
308</body>
309</html>