λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
κ°œμΈκ³΅λΆ€/HTML5 + CSS3

[HTML+CSS][λ°˜μ‘ν˜• μ›Ή] 02 - κ°€λ³€ κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒ

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2020. 8. 3.

 

 

[HTML+CSS][λ°˜μ‘ν˜• μ›Ή] 01 - λ°˜μ‘ν˜• μ›Ήκ³Ό 뷰포트(viewport)의 κ°œλ…

[HTML+CSS][CSS3와 μ• λ‹ˆλ©”μ΄μ…˜] 03 - νŠΈλžœμ§€μ…˜ [HTML+CSS][CSS3와 μ• λ‹ˆλ©”μ΄μ…˜] 02 - λ³€ν˜•κ³Ό κ΄€λ ¨λœ 속성듀 [HTML+CSS][CSS3와 μ• λ‹ˆλ©”μ΄μ…˜] 01 - λ³€ν˜• [HTML+CSS][λ‹€μž¬λ‹€λŠ₯ν•œ CSS3 μ„ νƒμž] 03 - 가상 ν΄λž˜μŠ€μ™€ 가상..

onelight-stay.tistory.com

 

μ‚¬μ΄νŠΈμ˜ λͺ¨λ“  μš”μ†Œλ“€μ„ μƒλŒ€μ μΈ 크기둜 지정해

λΈŒλΌμš°μ €μ˜ 크기에 따라 탄λ ₯적으둜 λ³΄μ—¬μ€€λ‹€λŠ”

κ°€λ³€ κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒμ— λŒ€ν•΄μ„œ μ•Œμ•„λ³΄λ„λ‘ ν•˜μž.

 

 


 

 

κ·Έλ¦¬λ“œ μ‹œμŠ€ν…œ (grid system)

 

κ·Έλ¦¬λ“œ μ‹œμŠ€ν…œμ€ μ›Ή μ‚¬μ΄νŠΈμ˜ λ ˆμ΄μ•„μ›ƒμ„ μ •ν•  λ•Œ 자주 μ‚¬μš©ν•˜λŠ” κΈ°μ€€μœΌλ‘œ

화면을 λͺ‡ 개의 칼럼으둜 λ‚˜λˆ„μ–΄ μš”μ†Œλ“€μ„ λ°°μΉ˜ν•΄

ν•„μš”ν•  λ•Œλ§ˆλ‹€ μΉΌλŸΌλ“€μ„ λ¬Άμ–΄μ„œ λ°°μΉ˜ν•  수 있으며

화면을 λ‹¨μˆœν•˜κ²Œ λ§Œλ“€λ©΄μ„œλ„ κ·œμΉ™μ μœΌλ‘œ λ°°μ—΄ν•˜κΈ° λ•Œλ¬Έμ—

λ ˆμ΄μ•„μ›ƒμ„ 일관성 있게 μœ μ§€ν•  수 μžˆλ‹€λŠ” μž₯점을 가지고 μžˆλ‹€.

 

λ˜ν•œ ν™”λ©΄ λ„ˆλΉ„λ₯Ό νŠΉμ • κ°’μœΌλ‘œ κ³ μ •ν•΄ 놓고

κ·Έ μ•ˆμ— ν‘œμ‹œν•  μš”μ†Œλ“€μ˜ λ„ˆλΉ„ 값을 μ§€μ •ν•˜λ©΄

λ„ˆλΉ„κ°€ 항상 μΌμ •ν•˜κ²Œ ν‘œμ‹œλ˜κΈ° λ•Œλ¬Έμ— μ›ν•˜λŠ” λ ˆμ΄μ•„μ›ƒμ„ μ‰½κ²Œ λ§Œλ“€ 수 μžˆλ‹€.

 

반면 μ–΄λ–€ κΈ°κΈ°μ—μ„œλ„ λ™μΌν•œ λ ˆμ΄μ•„μ›ƒμ„ κ°€μ§€λ©΄μ„œλ„

기기의 νŠΉμ„±μ— 맞게 μ›Ή λ¬Έμ„œκ°€ ν‘œν˜„λ˜κΈΈ μ›ν•œλ‹€λ©΄

λ¬Έμ„œ μ•ˆμ˜ 각 μš”μ†Œμ˜ λ„ˆλΉ„λ₯Ό 고정값이 μ•„λ‹Œ

λ°±λΆ„μœ¨κ³Ό 같은 κ°€λ³€ κ°’μœΌλ‘œ μ§€μ •ν•˜λ©΄ λ˜λŠ”λ°

이 방법이 λ°”λ‘œ 'κ°€λ³€ κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒ'이라고 ν•œλ‹€.

 

 


 

 

κ°€λ³€ κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒ λ§Œλ“€κΈ°

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>κ³ μ • κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒ</title>
    <style>
        #wrapper { /*960으둜 μ‚¬μ΄μ¦ˆ κ³ μ •*/
            width: 960px;
            margin: 0 auto;
        }
        header { /*헀더*/
            width: 960px;
            height: 120px;
            background-color: skyblue;
            border-bottom: 2px solid black;
        }
        .header-text { /*헀더 글씨 μŠ€νƒ€μΌ*/
            font-size: 40px;
            color: white;
            text-align: center;
            line-height: 120px;
        }
        .content { /*λ³Έλ¬Έ*/
            float: left;
            width: 600px;
            height: 400px;
            padding: 15px;
            background-color: yellow;
        }
        .right-side { /*μ‚¬μ΄λ“œλ°”*/
            float: right;
            width: 300px;
            height: 400px;
            padding: 15px;
            background-color: greenyellow;
        }
        footer { /*ν‘Έν„°*/
            clear: both;
            height: 120px;
            background-color: darkred;
        }
    </style>
</head>
<body>
    <div id="wrapper">
        <header>
            <h1 class="header-text">κ³ μ • κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒ</h1>
        </header>
        <section class="content">
            <h4>λ³Έλ¬Έ</h4>
        </section>
        <aside class="right-side">
            <h4>μ‚¬μ΄λ“œλ°”</h4>
        </aside>
        <footer>
            <h4>ν‘Έν„°</h4>
        </footer>
    </div>
</body>
</html>

상단에 μžˆλŠ” μ˜ˆμ œλŠ” κ³ μ • κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒμ„ μ‚¬μš©ν–ˆκΈ° λ•Œλ¬Έμ—

각 λͺ¨λ°”일 κΈ°κΈ°λ₯Ό 선택해 κ²°κ³Όλ₯Ό 확인해 보면

λ¬Έμ„œμ˜ λ‚΄μš©μ΄ κ°€λ €μ§€λŠ” 것을 확인 ν•  수 μžˆλ‹€.

 

이처럼 κ³ μ • κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒμœΌλ‘œ λ§Œλ“€μ–΄μ§„ λ¬Έμ„œλ₯Ό

μ–΄λŠ λ””λ°”μ΄μŠ€μ—μ„œλ“  확인 ν•  수 있게 ν•˜λ €λ©΄

κ°€λ³€ κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒμœΌλ‘œ λ°”κΏ”μ£Όμ–΄μ•Ό ν•œλ‹€.

 

방법은 생각보닀 κ°„λ‹¨ν•˜λ‹€.

 

1) 전체λ₯Ό κ°μ‹ΈλŠ” μš”μ†Œ ν™•μΈν•˜κΈ°

μ›Ή μ½˜ν…μΈ  전체λ₯Ό κ°μ‹ΈλŠ” μš”μ†Œμ˜ λ„ˆλΉ„λ₯Ό 계산해 μž…λ ₯ν•œλ‹€.

 

ex) λͺ¨λ‹ˆν„° μ•ˆμ— κ°€λ“μ°¨κ²Œ ν‘œμ‹œν•˜κ³  μ‹Άλ‹€λ©΄ 100%, 

화면에 μ•½κ°„μ˜ 여백을 λ„£κ³  μ‹Άλ‹€λ©΄ 96%

 

2) 각 μš”μ†Œμ˜ λ„ˆλΉ„ κ°’ κ³„μ‚°ν•˜κΈ°

νŠΉμ • μš”μ†Œμ˜ λ‚΄μš© μ•žμ΄λ‚˜ λ’€μ— μ§€μ •ν•œ λ‚΄μš©μ„ λ„£μ„ μˆ˜ μžˆλŠ” κ²ƒμ΄λ©°, 

μš”μ†Œ μ•žλ’€μ— ν…μŠ€νŠΈλ‚˜ 이미지 등을 μΆ”κ°€ν•  수 μžˆλ‹€.

 

3) κ°€λ³€ κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒμœΌλ‘œ μ μš©ν•˜κΈ°

px둜 κ³ μ •λ˜μ–΄ μžˆλŠ” λ„ˆλΉ„κ°’μ„ λ°±λΆ„μœ¨ κ°’μœΌλ‘œ

μˆ˜μ •ν•΄ μ μš©μ‹œμΌœ μ€€λ‹€.

 

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>κ°€λ³€ κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒ</title>
    <style>
        #wrapper { /*96%둜 λ„ˆλΉ„κ°’*/
            width: 96%;
            margin: 0 auto;
        }
        header { /*헀더 %둜 λ‹¨μœ„λ³€κ²½*/
            width: 100%;
            height: 120px;
            background-color: skyblue;
            border-bottom: 2px solid black;
        }
        .header-text { /*헀더 글씨 μŠ€νƒ€μΌ*/
            font-size: 40px;
            color: white;
            text-align: center;
            line-height: 120px;
        }
        .content { /*λ³Έλ¬Έ %둜 λ‹¨μœ„λ³€κ²½*/
            float: left;
            width: 62.5%;
            height: 400px;
            padding: 1.5625%;
            background-color: yellow;
        }
        .right-side { /*μ‚¬μ΄λ“œλ°” %둜 λ‹¨μœ„λ³€κ²½*/
            float: right;
            width: 31.25%;
            height: 400px;
            padding: 1.5625%;
            background-color: greenyellow;
        }
        footer { /*ν‘Έν„° %둜 λ‹¨μœ„λ³€κ²½*/
            clear: both;
            width: 100%;
            height: 120px;
            background-color: darkred;
        }
    </style>
</head>
<body>
    <div id="wrapper">
        <header>
            <h1 class="header-text">κ°€λ³€ κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒ</h1>
        </header>
        <section class="content">
            <h4>λ³Έλ¬Έ</h4>
        </section>
        <aside class="right-side">
            <h4>μ‚¬μ΄λ“œλ°”</h4>
        </aside>
        <footer>
            <h4>ν‘Έν„°</h4>
        </footer>
    </div>
</body>
</html>

 

 


 

 

λͺ¨λ“  기기에 화면을 맞좜수 μžˆλ‹€κ³  ν•˜λ‹ˆ

맀번 화면에 λ§žμΆ”λ €κ³ 

수치λ₯Ό λ³€κ²½ν•  일이 μ—†μ–΄ μ•„μ£Ό 쒋은 것 κ°™λ‹€.

 

 


 

 

< μ°Έκ³  >

Do it! HTML5+CSS3 μ›Ή ν‘œμ€€μ˜ 정석

 

 

β€» ν•΄λ‹Ή 글은 μŠ΅λ“ λͺ©μ μœΌλ‘œ μž‘μ„±λœ κΈ€μž…λ‹ˆλ‹€ β€»

 

λ°˜μ‘ν˜•

λŒ“κΈ€