๐ ์ด๋ฏธ์ง ์คํ๋ผ์ดํธ ๐์ฐธ๊ณ ์๋ฃ
๐ ์์ ๋ฐฐ์จ ๊ณ ์ ํ๊ณ ๋ฐ์ํ ๋ง๋ค๊ธฐ
.iframeWrapper {
width: 600px;
height: 500px;
margin: 100px auto;
background: pink;
}
iframe {
width: 100%;
height: 100%;
}
์์ ๋ฐฐ์จ์ด ์ด์ํ๋ค...
๊ฒ๋ค๊ฐ width
์ height
๊ฐ ๊ณ ์ ๋์ด ์์ด์ ํ๋ฉด์ ์ค์ฌ๋ ์ ํ ๋ฐ์ํ์ง ์๋๋ค.
.iframeWrapper {
position: relative;
width: 100%;
padding-top: 56.25%;
}
iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
์ ์ด๋ ๊ฒ ๋๋ ๊ฒ์ผ๊น?
position: relative
์ width: 100%
๋ฅผ ์ฃผ๋ฉด height
๊ฐ์ ์ฃผ์ง ์์๊ธฐ ๋๋ฌธ์ height
๊ฐ 0์ด๋ค. ๊ทธ๋์ ์์์์๊น์ง ๋ณด์ด์ง ์๊ฒ ๋๋ค.๊ทธ๋์ padding-top : 56.25%
๋ฅผ ์ฃผ๋ฉด ์์์์๊น์ง ๋ํ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ padding-top
์ผ๋ก ์ง์ ํ๋ ๊ฒ์ผ๊น?
MDN padding์ ์ฐธ์กฐํ๋ฉด ์ด๋ฐ ๋ฌธ๊ตฌ๊ฐ ์๋ค.
์ฆ, padding-top
์ ๊ฐ์ด ๋ฐฑ๋ถ์จ์ผ ๊ฒฝ์ฐ ๋ถ๋ชจ ์์์ ๋๋น์ ์๋์ ์ผ๋ก ๊ณ์ฐ๋๋ค.
๊ทธ๋ฆฌ๊ณ padding-top
์ ์ฌ์ฉํ๋ ์ด์ ๋ ๊ฐ๋ก-์ธ๋ก ๋น์จ์ ์ ์งํ๊ธฐ ์ํด์์ด๋ค.
์ผ๋ฐ์ ์ผ๋ก iframe
์์๋ ๋ด๋ถ ์ฝํ
์ธ ์ ๊ฐ๋ก-์ธ๋ก ๋น์จ์ ๋ฐ๋ผ ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋๋๋ฐ, ์ด๋ฅผ ๊ณ ์ ๋น์จ๋ก ์ ์งํ๊ธฐ ์ํด์๋ ๋ถ๋ชจ ์์์ ์ ์ ํ ๋น์จ์ ์ง์ ํด์ผํ๋ค.
56.25% (9/16*100) = 16 : 9 ๋น์จ์ ํด๋นํ๋ ๊ฐ์ด๋ค.
๊ฐ๋ก ๋๋น์ 56.25% ์ ํด๋นํ๋ ๋์ด๋ฅผ ์์ฑํ๊ฒ ๋๋ค.
๋ฐ๋ผ์ ์์ ์์์ width : 100%
height: 100%
๋ฅผ ์ฃผ๊ฒ ๋๋ฉด ๋ถ๋ชจ ํฌ๊ธฐ์ ๋ง์ถฐ์ง๊ธฐ ๋๋ฌธ์ ๋ฐฐ์จ์ ๋ง์ถฐ ํฌ๊ธฐ ์กฐ์ ์ ํ ์ ์๋ค.
.iframeWrapper {
aspect-ratio: 16/ 9;
}
iframe {
width: 100%;
height: 100%;
}
aspect-ratio
๋ ๊ธฐ๋ณธ ๊ฐ๋ก ์ธ๋ก ๋น์จ์ ์ค์ ํ๋ค.
์ค๋๋ ์ญ์๋ ๊ฐ์ ์ ๋ฐ์ ๋ชป์์๋ค์๋ค. ๋ค์ผ๋ฉด ๋ค์ ์๋ก ์ด๋ ค์ด ๊ฒ์ด CSS์ด๋ค..
๊ณ์ ์ข์ ์ ํ๋ฉด์ ์์
์ ๋ฃ๊ณ ์์ง๋ง 4์ฃผ์ ์ ๋์ ๋น๊ตํด๋ณด๋ฉด ๋ง์ด ์ฑ์ฅํ๋ค. ๊ทธ๋๋ ๋ค๋ค ์์
์ ๋ฐ๋ผ๊ฐ๊ณ ์๋ ๊ฒ๊ฐ์๋ฐ ๋๋ง ์ดํด๋ชปํ๊ณ ๋์ด๊ฐ๋๊ฒ ๋ง์ ๊ฒ ๊ฐ๋ค. ๊ทธ๋๋ ํญ์ ๊ฐ์ฌ๋๊ป์ ํ์ด ๋๋ ๋ง์ ํด์ฃผ์
์ ๋ฉํ์ก๊ธฐ๋ ํ์ง๋ง ์๋ฐ์คํฌ๋ฆฝํธ ๋์ด๊ฐ๋ฉด ๋ ์ผ๋ง๋ ์ข์ ํ ์ง ๊ฑฑ์ ์ด๋ค.
๊ทธ๋๋ ์ค๋ ์ฝ๊ฐ ์์ ๊ฐ์ ๊ฐ์ก๋ ๋ถ๋ถ์ด ์ ๋ฒ ๊ณผ์ ์ฝ๋ ๋ฆฌ๋ทฐํ์ ๋๋ค. ์ ๋ง ์ ๊ธฐํ๊ฒ ๋ด๊ฐ ๋งํฌ์ ํ ์์์ CSS style ์ด ์ ๋ถ ๊ฐ์ฌ๋ ๋ฐฉ์๊ณผ ๋น์ทํ๋ค. ๋ด๊ฐ ์ฝ๋๊ฐ ํ๋ ธ๋ค๋๊ฒ ์๋๋ผ์ ๋คํ์ด์๋ค.
์ค๋ ๋ง์ง๋ง ๊ณผ์ ๊ฐ ๋์๋๋ฐ ์์ ๋ด์ฉ์ ์ดํด ๋ชปํด์ ๋ณต์ต ๋จผ์ ํ๋ค. ๋ณต์ต์ ํ๊ณ ๋๋๊น ์ด๋์ ๋ ์ดํด๊ฐ ๊ฐ์ ๊ณผ์ ๋ฅผ ๊ฒจ์ฐ ๋๋ผ ์ ์์ด์ ์ ๋ง ๋คํ์ด์๋ค. ๊ฐ์ฌ๋์ ์ฌ์ด ์์ ๋ผ๊ณ ํ์ จ๋๋ฐ ๋๋ง ํญ์ ์ด๋ ค์ด๊ฑด๊ฐ...ใ ใ ใ