ํฐ์คํ ๋ฆฌ ๋ทฐ
์๋ก์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด ์ ์ ์์ด ์ฝ๋๋ฅผ ์ง๋ค๊ฐ ๋ง๋, ๋ถ๋ช
๊ฐ๋จํด์ผํ ๊ธฐ๋ฅ์ด ์ ์ ์๋ ์ด์ ๋ก ๋์ํ์ง ์๋ ์๊ฐ์ ๋ง์ฃผํ์ต๋๋ค. ๋ฐ๋ก ์ ๊ฐ ์ํ ๋, ์ํ๋ ๊ณณ์ ๋ํ๋์ง ์๋ ๋ชจ๋ฌ(Modal) ๋ฌธ์ ์์ต๋๋ค. ์ด ๋ชจ๋ฌ์ ๋ง์น ์ ๋ น์ฒ๋ผ DOM Queue์ ์์ฌ์๋ค๊ฐ, ์ ํ ์์์น ๋ชปํ ์๊ฐ์ ์๋ฑํ ๊ณณ์์ ๋ํ๋ฌ์ต๋๋ค.
์ ๊ฐ ์ด ์ ๋ น๊ฐ์ ๋ชจ๋ฌ์ ์ก๊ธฐ ์ํด ์ด๋ค ๊ณผ์ ์ ๊ฑฐ์ณค๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด ๊ฒฝํ์ ํตํด ์ด๋ค ๊ตํ์ ์ป์๋์ง ์ ์ด๋ณด๊ฒ ์ต๋๋ค.
--------
Problem
Modal์ด ์ํ๋ ๊ณณ์์ visible์ด ๋์ง ์๊ณ , DOM์ Queue๋ก ์์ด๋ค๊ฐ ์ํ์ง ์๋ ๊ณณ์์ ๋์ค๋ ๋ฌธ์
--------
Attempts
1. Stacking Context?
๊ฐ์ฅ ๋จผ์ ๋ ์๊ฐ์ Stacking Context ๋ฌธ์ ์์ต๋๋ค. css์์ z-index ์์ฑ์ ์์๊ฐ ์์ด๋ ์์๋ฅผ ์ ์ดํ๋๋ฐ, ์ด๊ฒ ๊ฐ๋ ๊น๋ค๋กญ๊ฒ ๋์ํ ๋๊ฐ ์์ต๋๋ค. z-index ๊ฐ์ด ๋์ผ๋ฉด ๋ค๋ฅธ ์์ ์๋ก ์ฌ๋ผ์ค์ง๋ง, ์ด ๊ท์น์ ๊ฐ์ ์์ ๋งฅ๋ฝ ์์์๋ง ์ ํจํฉ๋๋ค.
๋ง์ฝ ์ ๊ฐ ๋์ฐ๋ ค๋ ๋ชจ๋ฌ๊ณผ ํ์ด์ง์ ๋ค๋ฅธ ๋ถ๋ถ์ด ์๋ก ๋ค๋ฅธ ์์ ๋งฅ๋ฝ์ ์ํด ์๋ค๋ฉด, ๋ชจ๋ฌ์ z-index๋ฅผ 9999๋ก ์ค์ ํด๋ ๋ค๋ฅธ ์์ ๋ค์ ๊ฐํ ๋ณด์ด์ง ์์ ์ ์๊ธฐ ๋๋ฌธ์, ๋ชจ๋ฌ์ ๋ถ๋ชจ ์์๋ค์ ๊ฒ์ฌํ๋ฉฐ ๋ถํ์ํ ์์ ๋งฅ๋ฝ์ ๋ง๋๋ ์์ฑ์ด ์๋์ง ์ฐพ์๋ดค์ง๋ง, ์ด๊ฒ์ด ์์ธ์ ์๋์์ต๋๋ค.
2. display: flex ์์ฑ
๋ค์์ผ๋ก ๋ ์ด์์ ์์ฑ์ ์ดํด๋ณด์์ต๋๋ค. ์ ๋ ํ์ด์ง ๊ตฌ์กฐ๋ฅผ ์ก์ ๋ Flexbox๋ฅผ ์ ์ฉํฉ๋๋ค. Flexbox๋ ๊ฐ๋ ฅํ์ง๋ง, ๋๋ก๋ ์์ ์์์ ์์น์ ์์์น ๋ชปํ ์ํฅ์ ์ฃผ๊ธฐ๋ ํฉ๋๋ค. ํนํ position: absolute ์์ฑ์ ๊ฐ์ง ๋ชจ๋ฌ ๊ฐ์ ์์์๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค. ๋ชจ๋ฌ์ด Flexbox ์ปจ๋ฐ์ด๋ ์์์ ์์น๋ฅผ ์ ๋๋ก ์ก์ง ๋ชปํ๊ณ ์๋์ง ํ์ธํด ๋ดค์ง๋ง, ์ด ๋ํ ๋ฌธ์ ๋ ์๋์์ต๋๋ค.
3. ์ ๋ น ํด๋์ค์ ์์ฌ์์ด์ ๋ณด์ด์ง ์์.
์ธ ๋ฒ์งธ ๊ฐ์ค์ ๋ชจ๋ฌ์ด DOM์๋ ์กด์ฌํ์ง๋ง, ์ ๊ฐ ์ ๋ น ํด๋์ค๋ผ๊ณ ๋ถ๋ฅด๊ธฐ ์์ํ ๋ฌด์ธ๊ฐ์ ์ํด ์จ๊ฒจ์ ธ ์๋ค๋ ๊ฒ์ด์์ต๋๋ค. display:none์ด๋ visibility: hidden ๊ฐ์ ์คํ์ผ์ ๊ฐ์ง ํด๋์ค๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ํด ์ ๋๋ก ์ ๊ฑฐ๋์ง ์๊ณ ๋จ์์์๊ฑฐ๋ผ ์ถ์ธกํ์ต๋๋ค. ๋ชจ๋ฌ์ด ๋์ค์๋ผ๋ ๋ํ๋๋ ํ์์, ๋ค๋ฅธ ์ด๋ฒคํธ๊ฐ ๊ฒฐ๊ตญ ์ด ์ ๋ น ํด๋์ค๋ฅผ ์ ๊ฑฐํ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ด์ด๋๊ณ ํด๋ฆญํ ๋๋ง๋ค ์์๋ฅผ ๊ด์ฐฐํ์ง๋ง, ํด๋น ํด๋์ค๋ฅผ ์ฐพ์ ์๋ ์์์ต๋๋ค.
--------
Solution
4. html ๊ธฐ๋ณธ ๊ตฌ์กฐ์ ๋ฌธ์ .
์ด๋ ๊ฒ ๋ณต์กํ css๋ฌธ์ ๋ค์ ํ์ฐธ ํํค์น ํ์์ผ, ํด๊ฒฐ์ฑ
์ด ๋ถ๋๋ฌ์ธ ์ ๋๋ก ๊ฐ๋จํ๊ณ ๊ทผ๋ณธ์ ์ธ ๊ณณ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ๋ฐ๋ก HTML ๊ตฌ์กฐ ์์ฒด๊ฐ ์๋ชป๋์๋ ๊ฒ์
๋๋ค.
๊ธฐ๋ฅ์ ๊ธํ๊ฒ ๊ตฌํํ๋ค๋ณด๋, ์ ๊ฐ ๋์ฐ๊ณ ์ถ์๋ ๋ชจ๋ฌ์ ๋ ๋ค๋ฅธ ๋ชจ๋ฌ ์ปดํฌ๋ํธ ์์ ์ค์ฒฉํด์ ๋ฐฐ์นํ๋ ๊ฒ ์
๋๋ค.
์๋ชป๋ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์์ต๋๋ค.
์ด๊ฒ์ด ์ ๋ฌธ์ ์์๊น?
css ๊ฐ์์ฑ์ ๊ธฐ๋ณธ ๊ท์น์ ๋ถ๋ชจ ์์๊ฐ ๋ณด์ด์ง ์์ผ๋ฉด ์์ ์์๋ ๋ณด์ผ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ #my-target-modal์ ๋ณด์ฌ์ฃผ๋ ค๊ณ ์ ํํ ์๋ํ๊ณ ์์์ง๋ง, ๊ทธ ๋ถ๋ชจ์ธ #parent-modal์ด display:none ์ํ์๊ธฐ ๋๋ฌธ์ ํ๊ฒ ๋ชจ๋ฌ ์ญ์ ํ๋ฉด์ ๋์ฌ ์ ์์๋ ๊ฒ์
๋๋ค.
์ ๊ฐ ๊ฒช์๋ ์ด์ํ ๋๊ธฐ์ด ํ์์ ๋ค๋ฅธ ์ฌ์ฉ์ ํ๋์ด ๊ฒฐ๊ตญ #parent-modal์ ํ๋ฉด์ ํ์ํ์ ๋ ๋ฐ์ํ์ต๋๋ค. ๊ทธ ์๊ฐ ์ด๋ฏธ ํ์๋๋๋ก ์ค์ ๋์ด ์๋ #my-target-modal์ด ๋ถ๋ชจ์ ํจ๊ป ๋ํ๋๋ฉด์ ๋ง์น ๋ค๋ฆ๊ฒ ์ถ๋ ฅ๋๋ ๊ฒ์ฒ๋ผ ๋ณด์๋ ๊ฒ์
๋๋ค.
ํด๊ฒฐ์ฑ
์ ๋ชจ๋ฌ๋ค์ด ๋ถ๋ชจ-์์ ๊ด๊ณ๊ฐ ์๋ ํ์ ๊ด๊ณ๊ฐ ๋๋๋ก HTML๊ตฌ์กฐ๋ฅผ ์์ ํ๋ ๋ฐฉ๋ฒ์ด์์ต๋๋ค. ์ฌ์ค ์ด๋ฐ ๋ฌธ์ ๋ฅผ ์์ฒ์ ์ผ๋ก ๋ฐฉ์งํ๋ ค๋ฉด ๋ชจ๋ฌ์ body ํ๊ทธ ๋ฐ๋ก ์๋์ ๋์ด ๋ค๋ฅธ ์์์ ์คํ์ผ์ ์ํฅ์ ๋ฐ์ง ์๋๋ก ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค.
๊ฒฐ๋ก ๋ฐ ๊ตํ
์ด๋ฒ ๊ฒฝํ์ ์ค์ํ ์ฌ์ค์ ๋ค์ ํ๋ฒ ์ผ๊นจ์ ์ฃผ์์ต๋๋ค. ๋๋ฒ๊น
์์ ๋ณต์กํ ๊ฒ๋ถํฐ ํ๊ณ ๋ค๊ธฐ ์ ์, ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฒ์ ๋จผ์ ํ์ธํด์ผํ๋ค๋ ๊ฒ์
๋๋ค. css์ js์ ๋ณต์กํจ์ ๋น ์ ธ ๊ธธ์ ์๊ธฐ ์ฝ์ง๋ง, ๋๋ก๋ ๋ฌธ์ ์ ์์ธ์ด ํ์ด์ง์ ๊ฐ์ฅ ๊ทผ๊ฐ์ด ๋๋ HTML ๊ตฌ์กฐ์ ์์ ์ ์์ต๋๋ค. ๊น๋ํ๊ณ ๋
ผ๋ฆฌ์ ์ธ ๋ฌธ์ ๊ตฌ์กฐ๋ ๋จ์ํ ์๋ฏธ๋ก ์ ์ธ ์ ๊ทผ์ฑ ๋ฟ๋ง ์๋๋ผ, ์๋ง์ ์คํ์ผ๋ง ๋ฌธ์ ๋ฅผ ์๋ฐฉํด ์ฃผ๋ ์ต๊ณ ์ ๋ฐฉ์ด๋ง์ด ๋ ์ ์๋ค๋ ๊ฒ์ ๊ผญ ๊ธฐ์ตํ๊ฒ ์ต๋๋ค.
'๐ง TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [TIL] React Native(Expo) + NativeWind v4 ์ด๊ธฐ ์ธํ ํธ๋ฌ๋ธ ์ํ ๋ก๊ทธ (0) | 2025.11.26 |
|---|---|
| [TIL] 2023-09-09 (0) | 2023.09.10 |
| [TIL] 2023-09-08 (0) | 2023.09.09 |
| [TIL] 2023-08-23 (0) | 2023.08.24 |
| [TIL] 2023-08-22 (0) | 2023.08.23 |
- Total
- Today
- Yesterday
- MobileNet
- CriticV
- ๋ ผ๋ฌธ๋ฆฌ๋ทฐ
- Example
- Focal loss
- separable
- PCA
- tensorflow
- fisherconsistency
- logitadjustment
- convolution
- ํน์ง์ตํฉ
- DeepLearning
- Optimizer
- ScientificReports
- GradientScaling
- vlm
- code
- depthwise
- imbalanceddata
- GradientDescent
- classimbalance
- ๊ฒฝ๋ํ ๋ชจ๋ธ
- ๋ค์ค์ธ๋ฐ๋
- ์ ํ๋์
- LossFunction
- ๋ฅ๋ฌ๋
- eigenvector
- AdamOptimizer
- MGFA
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 |