Skip to content

Commit

Permalink
feat: add post about box-layout-practice
Browse files Browse the repository at this point in the history
  • Loading branch information
WooDaeHyun committed Aug 9, 2023
1 parent 58c8004 commit 83b8939
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 4 deletions.
35 changes: 31 additions & 4 deletions src/content/44.layout-practice.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ draft: false
excerpt: '์‚ฌ์ง„์— ๋งž๊ฒŒ ๋ฐ•์Šค๋“ค์„ ๋ฐฐ์น˜ํ•˜๋Š” ์—ฐ์Šต์„ ํ–ˆ๋‹ค. ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” ๋ถ€๋ถ„์ด๋ฉด์„œ๋„ ์ œ๋Œ€๋กœ ๋ฐฐ์น˜ํ•˜์ง€ ๋ชปํ•˜๋ฉด ์ˆ˜์ •ํ•˜๊ธฐ ๊ฐ€์žฅ ํž˜๋“  ๋ถ€๋ถ„์ด๋‹ค. ๋”ฐ๋ผ์„œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด ๋ณด๋ฉด์„œ box ๋ฐฐ์น˜๋ฅผ ์—ฐ์Šตํ•ด๋ณด์•˜๋‹ค.'
---

### BOX LAYOUT
### 1. BOX LAYOUT

<br/>

Expand All @@ -25,12 +25,39 @@ excerpt: '์‚ฌ์ง„์— ๋งž๊ฒŒ ๋ฐ•์Šค๋“ค์„ ๋ฐฐ์น˜ํ•˜๋Š” ์—ฐ์Šต์„ ํ–ˆ๋‹ค. ๊ฐœ๋ฐœ์„

---

### ๐Ÿ’ก ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๊ตฌํ˜„ ๋ฐฉ์‹
### 2. ๊ตฌํ˜„ ๋ฐฉ๋ฒ•๐Ÿ’ก

<br/>

&nbsp;&nbsp;ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•œ ์ ์€ **์ฝ”๋“œ์˜ ์–‘์„ ์ตœ๋Œ€ํ•œ ์ค„์ด๊ณ ** `ํ•˜๋‚˜์˜ Box ์ปดํฌ๋„ŒํŠธ`๋ฅผ ํ†ตํ•ด **๋ชจ๋“  Box๋“ค์˜ ํฌ๊ธฐ์™€ ์œ„์น˜์— ๋งž๊ฒŒ ๋ฐฐ์น˜**์‹œํ‚ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ฐธ๊ณ ํ•ด์•ผ ํ•˜๋Š” ์ด๋ฏธ์ง€์—๋Š” ์ค‘์š”ํ•œ ๊ทœ์น™์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ Box๋“ค์˜ ํฌ๊ธฐ๊ฐ€ ๋ถ€๋ชจ Box์˜ `1/4` ํฌ๊ธฐ๋กœ ์ค„์–ด๋“ ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.
์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „ ๋‹จ๊ณ„์—์„œ ์ƒ๊ฐํ•œ ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ **๋‘ ๊ฐ€์ง€**๋กœ ๋‚˜๋‰˜์—ˆ๋‹ค.

&nbsp;&nbsp;ํ•ด๋‹น ๊ทœ์น™์„ ์ด์šฉํ•ด ๋ถ€๋ชจ ์ž์‹ ๊ด€๊ณ„๋ฅผ ํ†ตํ•ด box ์•ˆ์˜ ์ž์‹ box๋“ค์˜ ํฌ๊ธฐ๋ฅผ ๋ณ„๋„์˜ props ์—†์ด ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋˜ํ•œ ์ž์‹ box๋Š” ๋ถ€๋ชจ ๋ฐ•์Šค์˜ ์ •๊ฐ€์šด๋ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์ „์— ์ •์˜ํ•œ ์œ„์น˜๋ฅผ props๋กœ ๋…๊ฒจ translate์„ ํ†ตํ•ด ์›ํ•˜๋Š” ๊ณณ์— ์œ„์น˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์—ˆ๋‹ค. **์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์–‘์„ ๋งŽ์ด ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.**
1. box ์ปดํฌ๋„ŒํŠธ ๋งŒ๋“ค๊ณ  props๋กœ `size`๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ๋ฐ•์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•
2. box ์ปดํฌ๋„ŒํŠธ์— ๋ณ„๋„์˜ `size` props๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š๊ณ  ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์ด์ฆˆ๋ฅผ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•

&nbsp;&nbsp;ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•œ ์ ์€ `ํ•˜๋‚˜์˜ Box ์ปดํฌ๋„ŒํŠธ`๋ฅผ ํ†ตํ•ด **๋ชจ๋“  Box๋“ค์˜ ํฌ๊ธฐ๋ฅผ ์ •ํ•˜๊ณ  ์œ„์น˜์— ๋งž๊ฒŒ ๋ฐฐ์น˜ํ•˜๋ฉด์„œ๋„ ์ฝ”๋“œ์˜ ์–‘์„ ์ตœ๋Œ€ํ•œ ์ค„์ด๋Š”** ๊ฒƒ์ด์—ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ฐธ๊ณ ํ•ด์•ผ ํ•˜๋Š” ์ด๋ฏธ์ง€์—๋Š” ์ค‘์š”ํ•œ ๊ทœ์น™์ด ์žˆ์—ˆ๋Š”๋ฐ ๋ฐ”๋กœ Box๋“ค์˜ ํฌ๊ธฐ๊ฐ€ ๋ถ€๋ชจ Box์˜ `1/4` ํฌ๊ธฐ๋กœ ์ค„์–ด๋“ ๋‹ค๋Š” ์ ์ด๋‹ค.

&nbsp;&nbsp;๋”ฐ๋ผ์„œ ํ•ด๋‹น ๊ทœ์น™์„ ์ด์šฉํ•ด ๋ถ€๋ชจ ์ž์‹ ๊ด€๊ณ„๋ฅผ ํ†ตํ•ด box ์•ˆ์˜ ์ž์‹ box๋“ค์˜ ํฌ๊ธฐ๋ฅผ ๋ณ„๋„์˜ props ์—†์ด ์ค„์ด๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ–ˆ๋‹ค. ๋˜ํ•œ ์ž์‹ box๋Š” ๋ถ€๋ชจ ๋ฐ•์Šค์˜ ์ •๊ฐ€์šด๋ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์ „์— ์ •์˜ํ•œ ์œ„์น˜๋ฅผ props๋กœ ๋„˜๊ฒจ translate์„ ํ†ตํ•ด ์›ํ•˜๋Š” ๊ณณ์— ์œ„์น˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์—ˆ๋‹ค. **์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์–‘์„ ๋งŽ์ด ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.**

<img src="img/box-layout-method.png" alt="box ๋ฐฐ์น˜ ๋ฐฉ๋ฒ•">

---

### 3. ๊ตฌํ˜„ ๊ฒฐ๊ณผ

<a href="https://github.com/WooDaeHyun/box-layout"><h6 style="text-align: center">Github Repo ๋ฐ”๋กœ๊ฐ€๊ธฐ</h6></a>

<div style="width: 100%; display: flex; justify-content: center">
<div style="width: 500px">
<img src="img/box-layout-result.png" alt="box-layout-img" />
</div>
</div>

<br/>

- ์œ„์–ด์„œ๋„ ์–ธ๊ธ‰ํ–ˆ์ง€๋งŒ ํ•ด๋‹น UI๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๊ฒ ์ง€๋งŒ ํ•˜๋‚˜์˜ `Box ์ปดํฌ๋„ŒํŠธ`๋ฅผ ํ†ตํ•ด ๋ชจ๋“  Box๋“ค์„ ์กฐ์ž‘ํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ์„ค์ •ํ•˜๊ณ  ์ง„ํ–‰ํ–ˆ๋‹ค.
- `z-index`์˜ ์‚ฌ์šฉ์„ ํ”ผํ•˜๊ณ ์ž ์ •๊ฐ€์šด๋ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฏธ๋ฆฌ ์ •์˜ํ•ด ๋‘” ์œ„์น˜๋“ค์„ ๊ธฐ์ค€์œผ๋กœ translateํ•˜์—ฌ Box๋“ค์„ ์œ„์น˜์‹œ์ผฐ๋‹ค. `z-index`์˜ ๊ฒฝ์šฐ ์„ค์ • ์กฐ๊ฑด๋“ค์ด ๊ฝค ๊นŒ๋‹ค๋กญ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์œ ์ง€ ๋ณด์ˆ˜ํ•˜๋Š” ์ธก๋ฉด์—์„œ๋„ ๊ฐ€๊ธ‰์  ์ง€์–‘ํ•˜๋Š” ํŽธ์ด ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
- ๊ทธ๋ฆฌ๊ณ  ์ž์‹ Box๋Š” ๋ถ€๋ชจ Box์˜ ์ •๊ฐ€์šด๋ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ด๋™ํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ **์ฝ”๋“œ์˜ ์–‘์„ ๋งŽ์ด ์ค„์ผ ์ˆ˜ ์žˆ๊ณ **, ์ด๋ฅผ ํ†ตํ•ด ๊ฐ€๋…์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

---

&nbsp;&nbsp;์ด๋ฒˆ ์—ฐ์Šต์„ ํ†ตํ•ด **box layout**์„ ์›ํ•˜๋Š” ์œ„์น˜์— ๋ฐฐ์น˜์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•๋“ค์— ๋Œ€ํ•ด์„œ ๋” ๊ณ ๋ฏผํ•ด ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ธฐํšŒ๊ฐ€ ๋˜์—ˆ๋‹ค. ๋ฌผ๋ก  ์ค‘์ฒฉ๋œ ํ˜•์‹์œผ๋กœ box๋“ค์„ ๋ฐฐ์น˜์‹œํ‚ค๋Š” ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•œ ์ ์€ ์—†์—ˆ์ง€๋งŒ box๋“ค์„ ์ž์œ ์ž์žฌ๋กœ ์œ„์น˜์‹œํ‚ค๋Š” ์—ฐ์Šต์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋” ๋‚˜์€ **box layout**์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ์—ฐ์Šต๋“ค์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.๐Ÿ˜
Binary file added src/content/img/box-layout-result.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 83b8939

Please sign in to comment.