๊ฐœ๋ฐœ ๐Ÿพ/HTML,CSS

๋ชจ๋ฐ”์ผ๊ฐœ๋ฐœ์‹œ ์•Œ์•„์ฃผ๋ฉด ์ข‹์€ HTML/CSS

JOTOKKI 2019. 11. 18. 14:05
728x90

๋ชจ๋ฐ”์ผ๊ฐœ๋ฐœ์‹œ ์•Œ์•„์ฃผ๋ฉด ์ข‹์€ HTML/CSS์ด ์žˆ์Šต๋‹ˆ๋‹ค. 

๊ธฐ๋ณธ์ ์ธ๊ฒƒ๋„ ์žˆ๊ณ  ์ž์ฃผ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋“ค์ž…๋‹ˆ๋‹ค. 

๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ํ•˜๊ฒŒ๋œ๋‹ค๋ฉด ๊ฑฐ์˜ ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ๊ฒƒ๋“ค์ž…๋‹ˆ๋‹ค. 

 

1. viewport meta ํƒœ๊ทธ

2. @media query ์‚ฌ์šฉํ•˜๊ธฐ

3. ํ•ด์ƒ๋„๋ณ„๋กœ css ์ ์šฉํ•˜๊ธฐ

4. ๋ชจ๋ฐ”์ผ ์ƒ๋‹จ ํ™”๋ฉด ์ƒ‰ ๋ฐ”๊พธ๊ธฐ

5. ํ•ด์ƒ๋„๋ณ„ ์‚ฌ์ด์ฆˆ ์ž๋™ํ™”! vw๋‹จ์œ„

 

 


 

1. viewport meta ํƒœ๊ทธ

content ์— width=device-width ๋กœ ๋ธŒ๋ผ์šฐ์ € ๋„ˆ๋น„๋ฅผ ์žฅ์น˜ ๋„ˆ๋น„์— ๋งž์ถ”์–ด ํ‘œ์‹œํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

initial-scale๋กœ ๊ธฐ๋ณธ ํ™•๋Œ€๋„ˆ๋น„๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋˜์ง€ (1.0 = 100%),

use-scalable=no ๋ฅผ ์„ค์ •ํ•˜๋ฉด ๋ชจ๋ฐ”์ผ์—์„œ ํ™•๋Œ€๋ฅผ ๊ฐ•์ œ๋กœ ๋ง‰์„์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์‚ฌ์šฉ์˜ˆ์‹œ)

1
<meta name="viewport" content="width=device-width, initial-scale=1.0">
cs

๋งŒ์•ฝ viewport metaํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์–ด๋–ป๊ฒŒ๋ ์ง€ ๋น„๊ตํ•ด ๋ณผ๊ป˜์š”!

 

1. PCํ™”๋ฉด

2. viewport metaํƒœ๊ทธ ์—†๋Š”๊ฒฝ์šฐ

 

3. viewport metaํƒœ๊ทธ ์žˆ๋Š”๊ฒฝ์šฐ

๋ณด์‹œ๋‹ค์‹œํ”ผ viewport๊ฐ€ ์—†๋Š”๊ฒฝ์šฐ PCํ™”๋ฉด์„ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์›น์œผ๋กœ ๋ชจ๋ฐ”์ผ๊ฐœ๋ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋ผ๋ฉด ๊ฑฐ์˜ ํ•„์ˆ˜๋กœ ์ด ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โ€‹

์ฐธ์กฐ : https://developer.mozilla.org/ko/docs/Mozilla/Mobile/Viewport_meta_tag

 

 

 

2. @media query ์‚ฌ์šฉํ•˜๊ธฐ

ํ•˜์ง€๋งŒ ์›น ๊ฐœ๋ฐœ์„ ํ• ๋•Œ px ๋“ฑ์œผ๋กœ ๊ณ ์ •๋œ ๊ฐ’์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด,

๋‹น์—ฐํžˆ ํ™”๋ฉด์ด ํ‹€์–ด์งˆ์ˆ˜ ๋ฐ–์—์—†๊ณ , %๋‹จ์œ„๋กœ ์‚ฌ์šฉํ•œ๋‹ค๊ณ ํ•ด์„œ ํ•œ๊ณ„๊ฐ€ ์žˆ๊ฒ ์ง€์š”?!

๊ทธ๋ ‡๊ธฐ๋•Œ๋ฌธ์— ํ™”๋ฉด ํ•ด์ƒ๋„ ๋ณ„๋กœ CSS๋ฅผ ๋”ฐ๋กœ๋”ฐ๋กœ ์ž‘์„ฑํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

media query๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. media query๋Š” CSS ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค!

โ€‹

๋น„์œจ์—๋”ฐ๋ฅธ aspect-ratio ๋ผ๋˜์ง€, ๋†’์ด๊ฐ’ device-height ๋“ฑ ๋งŽ์€ ์†์„ฑ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค๋งŒ,

์ฃผ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์€ max-width๋‚˜ min-width๋ฅผ ํ†ตํ•ด

์ตœ์†Œ 00px ์ด์ƒ์‹œ์—๋งŒ ์ ์šฉ(min-width:00px) ๋˜๋Š” ์ตœ๋Œ€ 00px ์ดํ•˜(max-width:00px)์ผ๋•Œ๋งŒ ์ ์šฉ

์ด๋Ÿฐ์‹์œผ๋กœ ์ œ์ผ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

( ์ €๋งŒ ๊ทธ๋Ÿด์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ์š”... )

 

์‚ฌ์šฉ์˜ˆ์‹œ )

1
@media (min-width: 1450px) { ... } // 1450px ์ด์ƒ ํ™”๋ฉด ์ฆ‰, 1451px ๋ถ€ํ„ฐ ์ ์šฉ
cs

- HTML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<div class="wrapper">
    <header class="header">HEADER</header>
    <div class="container">
        <nav class="lnb">LEFT MENU</nav>
        <div class="content">
            <ul>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
                <li>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi at aliquam neque impedit! Soluta placeat neque odit doloribus voluptatum maxime, repellendus eligendi, nemo asperiores nobis amet maiores consectetur unde quisquam.</li>
            </ul>
        </div>        
    </div>
</div>
cs

- CSS

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
    padding:0;
    margin:0;
}
 
.header{
    width:100%;
    padding:40px 0;
    text-align: center;
    background-color:lightblue;
    font-size: 30px;
    font-weight: 600;
}
 
.container{
    overflow:hidden;
    display:flex;
}
 
.lnb{
    width:18%;
    float:left;
    background-color:rgb(47, 88, 102); 
}
 
.content{
    float:right;
    padding:30px;
}
 
.content ul{
    list-style-position: inside;
}
 
 
@media (max-width: 400px) { 
    .header{ background-color:lightgreen; }
}
 
@media (min-width: 1000px) { 
    .header{ background-color:orange; }
}
cs

 

- ๊ฒฐ๊ณผ

์ฐธ์กฐ : https://developer.mozilla.org/en-US/docs/Web/CSS/@media

 

 

 

3. ํ•ด์ƒ๋„๋ณ„๋กœ css ์ ์šฉํ•˜๊ธฐ

CSSํŒŒ์ผ ์ž์ฒด์— @media๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ,

CSSํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ฌ๋•Œ์—์„œ media์†์„ฑ์„ ์ด์šฉ ํ•˜์—ฌ ์›์‚ฌ๋Š” ์‚ฌ์ด์ฆˆ์— ์›ํ•˜๋Š” CSSํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€‹

์‚ฌ์šฉ์˜ˆ์‹œ )

1
2
3
<link rel='stylesheet' media='screen and (max-width: 400px)' href='style1.css' /> 
<link rel='stylesheet' media='screen and (max-width: 400px and min-width: 1000px)' href='style.css' /> 
<link rel='stylesheet' media='screen and (min-width: 1000px)' href='style2.css' />
cs

2๋ฒˆ๊ณผ ๋˜‘๊ฐ™์ด ์ž‘๋™๋ฉ๋‹ˆ๋‹ค!

โ€‹

 

4. ๋ชจ๋ฐ”์ผ ์ƒ๋‹จ ํ™”๋ฉด ์ƒ‰ ๋ฐ”๊พธ๊ธฐ

๋ชจ๋ฐ”์ผ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ด๋ฉด ๊ธฐ๋ณธ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ œ๊ณตํ•˜๋Š” ํ—ค๋”์™€ ํ‘ธํ„ฐ ์˜์—ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์š”์ฆ˜์€ ์ด ์˜์–ต์„ ํฌํ•จํ•˜์—ฌ ๋””์ž์ธ๋„ ๊ณ ๋ ค๋ฅผ ํ•˜๊ธฐ๋•Œ๋ฌธ์— ์ด ํƒœ๊ทธ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<meta name="theme-color" content="์ปฌ๋Ÿฌ๊ฐ’"> ์ด๋Ÿฐ์‹์œผ๋กœ ์ ์šฉํ•˜๋ฉด๋˜๋Š”๋ฐ์š”,

์ฐธ๊ณ ๋กœ ์ปฌ๋Ÿฌ๊ฐ’์€ red, black ์ด๋ ‡๊ฒŒ๋Š ์ง€์ •์ด ์•ˆ๋˜๊ณ  #f0f0f0, #000 ์ด์ฒ˜๋Ÿผ HEX ์ฝ”๋“œ๋กœ ์ง€์ •ํ•ด์•ผ ์ ์šฉ์ด ๋ฉ๋‹ˆ๋‹ค.

 

์˜ˆ์‹œ)

1
<meta name="theme-color" content="#b30000">
cs

- ๊ฒฐ๊ณผ

์ด๋ ‡๊ฒŒ ์ƒ๋‹จ๋ฟ๋งŒ์•„๋‹ˆ๋ผ ํ•˜๋‹จ์— ์•„์ด์ฝ˜ ์ƒ‰๋„ ๊ฐ™์ด ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

 

 

5. ํ•ด์ƒ๋„๋ณ„ ์‚ฌ์ด์ฆˆ ์ž๋™ํ™”! vw๋‹จ์œ„

vw๋‹จ์œ„๋Š” ํ•ด์ƒ๋„๋ณ„๋กœ ์ ์šฉ๋˜๋Š” ๋‹จ์œ„๋กœ ์ €๋„ ํ˜„์—…์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณดํ†ต ๋””์ž์ธํŒŒ์ผ์„ ๋ฐ›์œผ๋ฉด px ๋‹จ์œ„๋กœ ์˜ฌํ…๋ฐ์š”,

vw๋กœ ๊ณ„์‚ฐํ•˜๋Š”๊ฒƒ์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

์ด (์ ์šฉํ•ดํ•  width๊ฐ’/์ „์ฒดํ™”๋ฉดwidth๊ฐ’)*100 ์„ ํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ๋“ค์–ด 1920px ํ™”๋ฉด์— 220px ์˜ ๊ฐ’์„ vw๋กœ ์ „ํ™˜ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด

(220/1920)*100= 11.45833 ์ด๋ผ๋Š”๊ฐ’์ด ๋‚˜์˜ฌํ…๋ฐ์š”,

11.45vw ๋‚˜ 11.458vw๋กœ ์ ๋‹นํžˆ ์†Œ์ˆ˜์ ์„ ์ž˜๋ผ ์‚ฌ์šฉํ•˜์‹œ๋ฉด๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ํ•ด์ƒ๋„๊ฐ€ ์ค„์–ด๋“ค๋ฉด ๋น„์œจ์€ ๊ทธ๋Œ€๋กœ ์ ์šฉ์ด ๋˜์–ด ๋ ˆ์ด์•„์›ƒ์ด ๊นจ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค!

๋ฐ˜์‘ํ˜•