1. ๊ทธ๋ฆฌ๋
'๊ทธ๋ฆฌ๋(Grid)'๋ ๊ฒฉ์๋ชจ์์ ๋ฌด๋ฌ๋ฅผ ๋ปํ๋ค. ์ฐ๋ฆฌ๊ฐ ํํ ์ฐ๋ ํ๋ก๊ทธ๋จ์ธ Excel, Word, PowerPoint์ 'ํ'์ ๊ฐ์ ํํ๋ ์ด ๊ทธ๋ฆฌ๋(Grid) ํํ๋ฅผ ๊ฐ์ง๋ค.
1) ๊ณ ์ ๊ทธ๋ฆฌ๋(fixed grid) : ํ๋ฉด ๋๋น๋ฅผ ์ผ์ ํ๊ฒ ๊ณ ์ ํ๊ณ ๋ ์ด์์์ ๋ง๋ ๊ฒ.
ํ๋ฉด ๋๋น๋ฅผ ํน์ ๊ฐ์ผ๋ก ๊ณ ์ ํด ๋์ผ๋ฉด ๊ทธ ์์ ํ์ํ ์์๋ค์ ๋์ด ๊ฐ์ ์ง์ ํ ์ ์๊ณ ๋๋น๊ฐ ํญ์ ์ผ์ ํ๊ฒ ํ์๋๊ธฐ ๋๋ฌธ์ ์ํ๋ ๋ ์ด์์์ ๋ง๋ค๊ธฐ๋ ์ฝ๋ค. ๋ฐ์คํฌํฑ์ฉ ์ฌ์ดํธ๋ง ์ ์ํ๋ค๋ฉด ์ด ๋ฐฉ๋ฒ์ด ํธ๋ฆฌํ๋ค. ํ์ง๋ง ์ฌ๋ฌ ์ข ๋ฅ์ ๊ธฐ๊ธฐ๋ฅผ ์ด์ฉํด์ ์ ์ํ๋ ์ฌ์ดํธ๋ผ๋ฉด, ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋๋น๊ฐ ์์ ๊ธฐ๊ธฐ์์ ์ ์ํ์ ๋๋ ์ฌ์ดํธ ์ผ๋ถ๊ฐ ๊ฐ๋ ค์ ธ์ ์คํฌ๋กค ๋ง๋๋ฅผ ์ฌ์ฉํด ํ๋ฉด์ ์ฎ๊ธฐ๋ฉด์ ๋ด์ผ ํ๋ ๋ถํธํจ์ด ์๋ค.
2) ๊ฐ๋ณ ๊ทธ๋ฆฌ๋(fluid grid) : ํ๋ฉด ๋๋น๋ฅผ % ๊ฐ์ ๊ฐ๋ณ ๊ฐ์ผ๋ก ์ง์ ํ ๊ฒ.
๊ณ ์ ๊ทธ๋ฆฌ๋(fixed grid)์ ํ๊ณ๋ฅผ ํด๊ฒฐํ ๊ฒ์ด ๋ฐ๋ก ๊ฐ๋ณ ๊ทธ๋ฆฌ๋(fluid grid)์ด๋ค. ๊ฐ๋ณ ๊ทธ๋ฆฌ๋๋ ํ๋ฉด ๋๋น๋ฅผ ํน์ ๊ฐ์ผ๋ก ๊ณ ์ ํด ๋์ง ์๊ณ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ๋๋น์ ๋ฐ๋ผ ์ฝํ ์ธ ๋๋น๊ฐ ๋ฌ๋ผ์ง๊ฒ ํ๋ค.
2. ๊ฐ๋ณ ๊ทธ๋ฆฌ๋
์ ํด์ ธ ์๋ ๊ณต์(๊ฐ๋ณ ๊ทธ๋ฆฌ๋ ๊ณต์)์ ์ํด ์ ํํ ๊ฐ๋ณ ํฌ๊ธฐ์ ๋ฐ์ค๋ฅผ ๋ง๋๋ ๊ธฐ์
1) ๊ฐ๋ณ ๊ทธ๋ฆฌ๋ ๊ณต์
๊ฐ๋ณ box ๊ณต์ | (๊ฐ๋ณ ํฌ๊ธฐ๋ก ๋ง๋ค ๋ฐ์ค์ ๊ฐ๋ก ๋๋น ÷ ๊ฐ๋ณ ํฌ๊ธฐ๋ก ๋ง๋ค ๋ฐ์ค๋ฅผ ๊ฐ์ธ๊ณ ์๋ ๋ฐ์ค์ ๊ฐ๋ก ๋๋น) X 100 = ๊ฐ๋ณ ํฌ๊ธฐ์ % ๊ฐ |
๊ฐ๋ณ margin ๊ณต์ | (๊ฐ๋ณ ๋ง์ง์ ์ ์ฉํ ๋ง์ง๊ฐ ÷ ์ ์ฉํ ๋ฐ์ค๋ฅผ ๊ฐ์ธ๊ณ ์๋ ๋ฐ์ค์ ๊ฐ๋ก ๋๋น) x 100 = ๊ฐ๋ณ ๋ง์ง % ๊ฐ |
๊ฐ๋ณ padding ๊ณต์ | (๊ฐ๋ณ ํจ๋ฉ์ ์ ์ฉํ ํจ๋ฉ๊ฐ ÷ ์ ์ฉํ ๋ฐ์ค๋ฅผ ๊ฐ์ธ๊ณ ์๋ ๋ฐ์ค์ ๊ฐ๋ก ๋๋น) x 100 = ๊ฐ๋ณ ํจ๋ฉ % ๊ฐ |
๊ฐ๋ณ font ๊ณต์ | (๊ฐ๋ณ ํฐํธ๋ฅผ ์ ์ฉํ ๊ธ์ ํฌ๊น๊ฐ ÷ ์ ์ฉํ ์์๋ฅผ ๊ฐ์ธ๊ณ ์๋ ์์์ ๊ธ์ ํฌ๊น๊ฐ) = ๊ฐ๋ณ ํฐํธ๊ฐ ๊ฐ๋ณ ํฐํธ ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํด์ฃผ๋ ์ฌ์ดํธ [http://pxtoem.com] |
2) ๊ฐ๋ณ box
2) ๊ฐ๋ณ margin, ๊ฐ๋ณ padding
๋ฐ์ํ ์น์ฌ์ดํธ์์๋ ๋ชจ๋ ์์๊ฐ ๊ฐ๋ณ์ ์ด์ด์ผ ํ๋ค. ๊ตฌ์กฐ์์ ๊ฐ๊ฒฉ๋ ๋ง์ฐฌ๊ฐ์ง ์ด๋ฏ๋ก, ๋ง์ง๊ณผ ํจ๋ฉ์ ๊ฐ๋ณ ๊ฐ์ผ๋ก ์ค์ ํด์ค์ผ ํ๋ค.
โป CSS3์ calcํจ์ : ๋ฐ์ค๋ ๊ฐ๋ณ์ ์ด๋ ๋ง์ง์ด๋ ํจ๋ฉ์ ๊ณ ์ ๊ฐ์ผ๋ก ์ค์ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ํจ์
3) ๊ฐ๋ณ font
- ๊ฐ๋ณ ๊ทธ๋ฆฌ๋ ๋จ์๋ค
(์ต์ ๋ธ๋ผ์ฐ์ ๋ px๋จ์๋ฅผ ์ฌ์ฉํด๋ ์ถ์, ํ๋๊ฐ ๊ฐ๋ฅํ๋ค.)
๋จ์ | ๋ป | |
em | ๋ถ๋ชจ์ font-size๋ฅผ ์์ ๋ฐ์. | 16px=1em |
rem | ๋ถ๋ชจ์ font-size๋ฅผ ์์ ๋ฐ์ง ์๊ณ ์ต์์(html)์ font-size๋ฅผ ๊ธฐ์ค์ผ๋ก ํจ. | |
vw | ์น ๋์ด๋ฅผ 100์ ๊ธฐ์ค์ผ๋ก ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํจ. | (๊ธ์๊ฐ x ๋ธ๋ผ์ฐ์ ๋๋น๊ฐ) ÷ 100 |
vh | ์น ๋์ด๋ฅผ 100์ ๊ธฐ์ค์ผ๋ก ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํจ. | (๊ธ์๊ฐ x ๋ธ๋ผ์ฐ์ ๋์ด๊ฐ) ÷ 100 |
vmin | ๋์ด์ ๋๋น์ค ์งง์์ชฝ์ 100์๊ธฐ์ค์ผ๋กํ์ฌ ํฌ๊ธฐ ๊ฒฐ์ . | |
vmax | ๋์ด์ ๋๋น์ค ๊ธด์ชฝ์ 100์๊ธฐ์ค์ผ๋ก ํ์ฌ ํฌ๊ธฐ ๊ฒฐ์ . |
3. ๊ฐ๋ณ ์ด๋ฏธ์ง์ ๊ฐ๋ณ ๋์์
1) ์น์ ๋์์ ํ์ผ์ ๊ฐ๋ณ์ ์์๋ก ๋ฃ๊ธฐ
์ด๋ฏธ์ง, ๋์์ ์์์ ๋์ด ๊ฐ๊ณผ ์ต๋ ๋์ด ๊ฐ์ 100%๋ก ์ค์ ํ๋ฉด ๋ฉํฐ๋ฏธ๋์ด ์์๊ฐ ๊ฐ๋ณ์ ์ผ๋ก ์๋ํ๋ค.
<!DOCTYPE HTML>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
<title>Document</title>
<style>
*{margin:0; padding:0;}
#wrap{
width:90%;
/* 960px */
margin:0 auto;
border:4px solid #000;
}
#wrap div{
width:50%;
display:inline-block;
}
img, video{ /*์ด๋ฏธ์ง, ๋์์ ์์์ ๋์ด ๊ฐ๊ณผ ์ต๋ ๋์ด ๊ฐ์ 100%๋ก ์ค์ */
width:100%;
max-width:100%;
}
</style>
</head>
<body>
<div id="wrap">
<div>
<video controls preload="auto">
<source src="source/video.mp4" type='video/mp4'></source>
<source src="source/video.ogv" type='video/ogg'></source>
<source src="source/video.webm" type='video/webm'></source>
</video>
</div><div>
<img src="source/img_01.jpg"></div>
</div>
</body>
</html>
2) ๋์์์ 16:9๋น์จ ์ ์งํ๋ฉด์ ๊ฐ๋ณ์ ์์๋ก ๋ฃ๊ธฐ
๋ฉํฐ๋ฏธ๋์ด ์์ ์ค ๋์์ ์์๋ ๋๋ถ๋ถ 16:9 ๋น์จ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ ํ๋ธ์ ๋น๋ฉ์ค๋ 16:9 ๋น์จ๋ก ๋์์์ ์ ๊ณตํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํจ๋ฉ ์์ฑ์ ์ด์ฉํ๋ฉด ์ด ๋์์ ํ๋ ์ด์ด๋ค๋ ๊ฐ๋ณ์ ์ผ๋ก ๋ง๋ค ์ ์๋ค.
(<iframe> ํ๊ทธ๋ ๋ค๋ฅธ ์นํ์ด์ง๋ฅผ ๋ด ์นํ์ด์ง๋ก ๊ฐ์ง๊ณ ์ค๊ฑฐ๋ ๋์์์ ๊ฐ์ ธ์ฌ ์ ์๋ ํ๊ทธ์ด๋ค.)
<!DOCTYPE HTML>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
<title></title>
<style>
*{
margin:0;
padding:0;
}
video, iframe{
width:100%;
max-width:100%;
}
#wrap{
position:relative;
padding-bottom:56.25%; /*16:9๋น์จ ๋์์์ ๊ฐ๋ณ์ ์์๋ก ๋ฃ๊ธฐ*/
/* 9 ÷ 16 */
height:0;
overflow:hidden;
}
iframe{
position:absolute;
top:0;
left:0;
height:100%;
}
</style>
</head>
<body>
<div id="wrap">
<iframe src="https://player.vimeo.com/video/192526798?byline=0&badge=0" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
</div>
</body>
</html>
3) ์คํฌ๋ฆฝํธ ํ์ผ(jquery, fitVids) ์ฌ์ฉํ์ฌ ๋์์ ๊ฐ์ ธ์ค๊ธฐ
<!DOCTYPE HTML>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
<title></title>
<style>
*{
margin:0;
padding:0;
}
video, iframe{
width:100%;
max-width:100%;
}
</style>
</head>
<body>
<div id="wrap">
<iframe src="https://player.vimeo.com/video/203671501" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
</div>
<script src="source/jquery.min.js"></script> /*์คํฌ๋ฆฝํธ ํ์ผ์ ์ฌ์ฉํ์ฌ ๋์์ ๋ฃ๊ธฐ*/
<script src="source/jquery.fitvids.js"></script>
<script>
$("#wrap").fitVids();
</script>
</body>
</html>
'๐ปWEB FrontEnd > ๋ฐ์ํ ์น' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Flex (0) | 2020.10.26 |
---|---|
๋ฏธ๋์ด ์ฟผ๋ฆฌ์ ๋ทฐํฌํธ (0) | 2020.10.25 |
๋ฐ์ํ ์น vs ์ ์ํ ์น (0) | 2020.10.22 |