CSS ๊ฐ๋ก์ธ๋ก ๋น์จ ๊ณ์ฐ๊ธฐ๋?
์ด ๋๊ตฌ๋ ์์์ ํฝ์
๊ฐ๋กยท์ธ๋ก ๊ฐ์ 16:9, 4:3์ฒ๋ผ ๊น๋ํ๊ฒ ์ฝ๋ถ๋ ํ๋ฉด๋น๋ก ๋ฐ๊ฟ ์ค๋๋ค. ๋ํ ๋์์, iframe, ์ด๋ฏธ์ง ๋ํผ ๊ฐ์ ๋ฐ์ํ ์ปจํ
์ด๋์ ๋น์จ์ ๊ณ ์ ํ ๋ ์ฐ๋ ์ ํต์ ์ธ padding-top ํผ์ผํธ๋ ํจ๊ป ๊ณ์ฐํฉ๋๋ค. ์ด๋ ์ต์ CSS aspect-ratio ์์ฑ์ด ๋๋ฆฌ ์ง์๋๊ธฐ ์ ๋ถํฐ ์ฆ๊ฒจ ์ฐ์ด๋ ๊ธฐ๋ฒ์
๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
์๋ณธ ๊ฐ๋ก์ ์ธ๋ก ๊ฐ์ ํฝ์ ๋จ์๋ก ์ ๋ ฅํ์ธ์. ๊ณ์ฐ๊ธฐ๋ ์ต๋๊ณต์ฝ์(GCD)๋ฅผ ์ด์ฉํด ๋น์จ์ ๊ฐ์ฅ ๊ฐ๋จํ ํํ๋ก ์ฝ๋ถํ๊ณ , ์์์ ๋น์จ(๊ฐ๋ก รท ์ธ๋ก)์ ๋ณด์ฌ ์ฃผ๋ฉฐ, CSS์ ๊ทธ๋๋ก ๋ถ์ฌ ๋ฃ์ ์ ์๋ padding-top ํผ์ผํธ๊น์ง ์ ๊ณตํฉ๋๋ค.
๊ณต์ ํ์ด
๋จผ์ ๊ฐ๋ก์ ์ธ๋ก์ ์ต๋๊ณต์ฝ์(GCD)๋ฅผ ๊ตฌํฉ๋๋ค. ๋ ๊ฐ์ GCD๋ก ๋๋๋ฉด ์ฝ๋ถ๋ ๋น์จ์ด ๋์ต๋๋ค. ์๋ฅผ ๋ค์ด 1920๊ณผ 1080์ GCD๋ 120์ด๋ฏ๋ก ๋น์จ์ 16:9๊ฐ ๋ฉ๋๋ค. padding-top ๊ธฐ๋ฒ์ ์ธ๋ก รท ๊ฐ๋ก ร 100 ๊ณต์์ ์ฐ๋๋ฐ, CSS์์ ํผ์ผํธ๋ก ์ง์ ํ padding ๊ฐ์ด ์์์ ๊ฐ๋ก ๋๋น๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ณ์ฐ๋๊ธฐ ๋๋ฌธ์
๋๋ค.
๊ณ์ฐ ์์
1920ร1080 ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ: \(\gcd(1920, 1080) = 120\). ๋น์จ = \(\frac{1920}{120} : \frac{1080}{120} =\) 16:9. ์์์ ๋น์จ = \(1920 \div 1080 \approx 1.7778\). padding-top = \(1080 \div 1920 \times 100 =\) 56.25%. ๋ฐ๋ผ์ ๋ฐ์ํ ๋ํผ์๋ padding-top: 56.25%๋ฅผ ์ ์ฉํ๋ฉด ๋ฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
aspect-ratio ์์ฑ ๋์ ๊ตณ์ด padding-top์ ์ฐ๋ ์ด์ ๋? padding-top ๊ธฐ๋ฒ์ ์์ฃผ ์ค๋๋ ๋ธ๋ผ์ฐ์ ๊น์ง ํฌํจํด ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ์๋ํฉ๋๋ค. ์ต์ ํ๋ก์ ํธ๋ผ๋ฉด aspect-ratio: 16 / 9;๋ฅผ ๊ทธ๋ฅ ์ฐ๋ฉด ๋ฉ๋๋ค.
ํผ์ผํธ ๊ณ์ฐ์ ๊ธฐ์ค์ ๊ฐ๋ก์ธ๊ฐ์, ์ธ๋ก์ธ๊ฐ์? CSS์์ ์ธ๋ก ๋ฐฉํฅ padding ํผ์ผํธ๋ ํญ์ ๋ถ๋ชจ ๋ธ๋ก์ ๊ฐ๋ก ๋๋น๋ฅผ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค. ๊ทธ๋์ ๊ณต์์ด ์ธ๋ก รท ๊ฐ๋ก์ธ ๊ฒ์ด์ฃ .
๊ฐ์ด ๊น๋ํ๊ฒ ์ฝ๋ถ๋์ง ์์ผ๋ฉด ์ด๋ป๊ฒ ํ๋์? ์ด๋ค ๊ฐ๋กยท์ธ๋ก ๊ฐ์ด๋ ์ ํจํ ๋น์จ์ ๋์ต๋๋ค. ๋ค๋ง 16:9์ฒ๋ผ ํํ ๋ถ๋ฅด๋ ์ด๋ฆ๊ณผ ๋ฑ ๋ง์ง ์์ ์ ์์ต๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ์๋ ์์์ ๋น์จ์ด ํนํ ์ ์ฉํฉ๋๋ค.