[Front-end๐Ÿฆ] #10 1๋งŒ ์‹œ๊ฐ„์˜ ๋ฒ•์น™

๋˜์ƒยท2021๋…„ 11์›” 11์ผ
0

front-end

๋ชฉ๋ก ๋ณด๊ธฐ
20/58
post-thumbnail

1. media query

media์˜ ์ข…๋ฅ˜๋‚˜ ๋Œ€์‘ ์˜ˆ์ œ๋“ค์„ ๋ณด์•˜๋‹ค.

  • ์‹ค๋ฌด์—์„œ๋Š” ํŠนํžˆ, -webkit-device-pixel-ratio๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์–˜๊ธฐ๋ฅผ ๋“ค์—ˆ๋‹ค. #6-2 ๋งฅ๋ถ์€ 2์ธ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋Š” 1์ด๋ผ์„œ ๋ญ”๊ฐ€ ์ŠฌํŽ๋‹ค.
  • ์œ„์ฆˆ์œ„๊ทธ ์—๋””ํ„ฐ : ๋„ค์ด๋ฒ„ ๋ฉ”์ผ ์ฐฝ์ฒ˜๋Ÿผ ์“ฐ๋Š”๋Œ€๋กœ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ! ์ด๊ฒƒ๋„ ๊ธ€์”จ๋ฅผ ์“ด๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์•Œ๊ณ ๋ณด๋ฉด pํƒœ๊ทธ๋กœ ๋‹ค ๊ฐ์‹ธ์ค€๋‹ค๋˜๊ฐ€ ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™” ์‹œํ‚ค๊ณ  ์žˆ์—ˆ๋˜ ๊ฒƒ์ด๋‹ค.
  • break point (์ค‘๋‹จ์ )
/* 500px, 1000px ์ด ์ค‘๋‹จ์ ์ด ๋œ๋‹ค. */
@media screen and (max-width: 1000px) 
@media screen and (max-width: 500px)
  • ํŽ˜์ด์ง€๋ฅผ ์™„์„ฑํ•˜๋ฉด ๊ผญ ์›นํ‘œ์ค€ ๊ฒ€์‚ฌ๋ฅผ ๊ฑฐ์น˜์ž!! HTML, CSS


2. 1๋งŒ ์‹œ๊ฐ„์˜ ๋ฒ•์น™

1๋งŒ ์‹œ๊ฐ„์˜ ๋ฒ•์น™์€ ์Šค๋งˆํŠธํฐ ํ•˜๋‚˜ ๋žฉํƒ‘ ํ•˜๋‚˜๋ฅผ ๋Œ€์‘ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์–ด์ œ ๊ณผ์ œ๋กœ ๋‚˜์™”๋‹ค. #9 ์–ด์ œ์˜ ๊ณ ๋‡Œ์˜ ํ”์  ์•„๋ฌด๊ฒƒ๋„ ๋ชป ํ–ˆ๋Š”๋ฐ ์™œ~ ์‹œ๊ฐ„์€ ๋ฒŒ์จ 2์‹œ~

๋ผ์„œ ๊ทธ๋ƒฅ ์”ป๊ณ  ์žค๋Š”๋ฐ, ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ๋ฐฐ์šฐ๋ฉด์„œ vw ๋‹จ์œ„๋ฅผ ์“ฐ๋ฉด ๋” ๋ฐ˜์‘ํ˜•์ด ๋˜์ง€ ์•Š์„๊นŒ? ํ•ด์„œ ์ ์šฉํ•ด์„œ ์™„์„ฑํ–ˆ๋‹ค.

/* ๋žฉํƒ‘์—์„œ๋Š” 100px๋กœ ๋ณด์ด๊ฒŒ! */
@media screen and (min-width: 1000px) {
    body {
        width: 1000px;
        margin: auto;
    }
    /* ๋‹จ์œ„๋ฅผ vw๋กœ ์ค˜์„œ ์ฐฝ ํฌ๊ธฐ๊ฐ€ ์ค„๋ฉด header ๋†’์ด๋„ ์ค„์–ด๋“ค ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค. */
    header { height: 26.5vw; }
    .img-title { width: 50%; }
}
@media screen and (min-width: 500px) and (max-width: 999px) {
    body {
        width: 100%;
        margin: auto;
    }
    header { height: 30vw; }
    .img-title { width: 65%; }
}
@media screen and (max-width: 500px) {
    body { width: 100%; }
    header { height: 40vw; }
    .img-title { width: 80%; }
}

์ƒ๊ฐ์ด ๋‚˜์„œ ์ €๋ ‡๊ฒŒ ํ–ˆ์ง€๋งŒ, vw ๊ฐ™์€ ๋‹จ์œ„๋กœ ๋Œ€์‘์„ ํ•˜๋Š” ๊ฒฝ์šฐ๋ณด๋‹ค๋Š” ๊ธฐ๊ธฐ์— ์ •ํ™•ํ•˜๊ฒŒ ๋งž์ถฐ์„œ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค๊ณ  ํ•œ๋‹ค.


2-1. ์ฝ”๋“œ ๋ฆฌ๋ทฐ

์ˆ˜๊ฐ•์ƒ ๋ช‡ ๋ช…์˜ ์ฝ”๋“œ๋ฅผ ๋ฐ›์•„์„œ ๋ฆฌ๋ทฐ๋ฅผ ํ•ด์ฃผ์‹œ๋Š”๋ฐ ์ด๋ฒˆ์—๋Š” ์ž์›ํ•ด์„œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์•„๋ดค๋‹ค!!!

<์ฝ”๋“œ ๋ฆฌ๋ทฐ๐Ÿ“>

๐Ÿ‘ 3 : ๊ตฌ์—ญ์„ form์œผ๋กœ ๊ฐ์‹ผ ๊ฒƒ ์ข‹๋‹ค. fieldset ๊ฐ™์€ ์†์„ฑ ๋„ฃ์—ˆ์œผ๋ฉด ๋” ์ข‹์•˜์„ ๊ฒƒ ๊ฐ™๋‹ค. 
๐Ÿ‘ 4 : ์ €์ž‘๊ถŒ small๋กœ ๊ฐ์‹ผ ๊ฒƒ ์ข‹๋‹ค!
\
โ˜๏ธ 3 : line-height ๋ง๊ณ  ๋‹ค๋ฅธ ๊ฑธ๋กœ ๋„์šฐ๋Š” ๊ฒƒ๋„ ์ข‹๋‹ค. 
\
๐Ÿ‘Ž 2 : 2, 4๋ฒˆ ๊ตฌํš์„ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์„ article๋กœ ํ–ˆ๋Š”๋ฐ, 2๋ฒˆ์€ blockquote๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ๋” ์ข‹์•˜์„ ๊ฒƒ ๊ฐ™๋‹ค.
๐Ÿ‘Ž 3 : placehoder ์ƒ‰์ƒ์ด ๋„ˆ๋ฌด ์ง„ํ•˜๋‹ค. ์‹œ๊ฐ„ input type์„ number๋กœ ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค!
๐Ÿ‘Ž 3 : form ์•ˆ์— ๊ธ€์”จ๋“ค span์œผ๋กœ ๊ฐ์Œ€ ํ•„์š” ์—†๋‹ค. p ์•ˆ์— input์„ ๋„ฃ์–ด๋„ ๋จ!
๐Ÿ‘Ž 3 : span, after ๋กœ ์ค„๋ฐ”๊ฟˆ ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค p ํƒœ๊ทธ๋กœ ๊ฐ์‹ธ๊ณ  button display:block;์œผ๋กœ ํ•˜๋ฉด ์ข‹์•˜์„๋“ฏ.
๐Ÿ‘Ž 4 : footer์— ํšŒ์‚ฌ๋ช… ํ•˜๋‚˜๋ฐ–์— ์—†์œผ๋‹ˆ๊นŒ dl ๋ง๊ณ  ๋‹ค๋ฅธ๊ฑฐ ์“ฐ์ž.

๊ณผ์ œ ์†Œ์Šค์ฝ”๋“œ


2-2. ๋ชจ๋ฒ”๋‹ต์•ˆ(?) ๋”ฐ๋ผ๊ฐ€๊ธฐ

<๊ฐ€์ด๋“œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋“ค์€ Tipsโœจ>

โš™๏ธReset
- reset.css ์—์„œ ์•ˆ์“ฐ๋Š” ์š”์†Œ๋Š” ์‚ญ์ œํ•ด์„œ ํ”„๋กœ์ ํŠธ์— ์ตœ์ ํ™”ํ•˜์ž.
\
๐Ÿ–‹Font files
- ํฐํŠธ๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉด ์›นํŽ˜์ด์ง€ ๊ธฐ์ค€์œผ๋กœ ํฐ ํŒŒ์ผ์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ด๋ฏ€๋กœ, ํฐํŠธ๊ฐ€ ์œ ์ผํ•˜๊ฒŒ ๋‹ค๋ฅธ ํ•œ ๋‘์ค„ ์ •๋„๋Š” **์ด๋ฏธ์ง€ ํ…์ŠคํŠธ** ๋กœ ์ฒ˜๋ฆฌํ•˜์ž.
\
๐Ÿฆฎ์›น ์ ‘๊ทผ์„ฑ
- ๋ฌธ์žฅ์„ ๋‚˜๋ˆŒ ๋•Œ ๋‚˜๋ˆ ์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ p ํƒœ๊ทธ๋กœ ๊ฐ์‹ธ๋Š” ๊ฒƒ๋ณด๋‹ค br์ด ์Šคํฌ๋ฆฐ ๋ฆฌ๋”์—์„œ ๋œ ์‰ฐ๋‹ค.
- section์„ ๋‚˜๋ˆŒ ๋•Œ, heading tag๋Š” ๋งˆํฌ์—… ํ•˜๊ณ  CSS๋กœ ๋‚ ๋ฆฌ์ž. [#9](https://velog.io/@ddosang/Front-end-8)
\
๐ŸŽปClass
- ์–ด๋–ค ๊ฒƒ์— class๋ฅผ ์ค˜์•ผํ• ์ง€ ๊ฐ์ด ์ž˜ ์•ˆ ์˜ฌ๋•Œ๋Š” ์ผ๋‹จ ๋‹ค ์ฃผ์ž!
- ์กฐ์ƒ ํƒœ๊ทธ๊ฐ€ 2~3๊ฐœ ์ด์ƒ ์žˆ๊ณ  ํ—ท๊ฐˆ๋ฆด ๊ฐ€๋Šฅ์„ฑ์ด ์—†์„๋•Œ๋Š” class ์ด๋ฆ„์„ ๋‹ฌ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
- ์—ฌ๋Ÿฌ๊ตฐ๋ฐ ํฉ์–ด์ง„ p ํƒœ๊ทธ๋ฅผ ์ „๋ถ€ ๊พธ๋ฏธ๊ณ  ์‹ถ์œผ๋ฉด class๋ฅผ ์ค˜์„œ ๊พธ๋ฏธ์ž.
- ์†์„ฑ์ด ๊ฒน์ณ์„œ class ์„ ํƒ์ž๋กœ ํ•ฉ์ณ์„œ ์ค„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋ฉด ๋ฐ”๋กœ๋ฐ”๋กœ ํ•ฉ์น˜์ž!! ๋‚˜์ค‘์— ๊ณ ์น˜๋ฉด ํž˜๋“ค๋‹ค.
- ๋ฒ„ํŠผ์€ ์ด๋™ํ•œ๋‹ค๋ฉด a ํƒœ๊ทธ๋กœ, ๋ชจ๋‹ฌ์ฐฝ ๊ฐ™์€ ๊ฒฝ์šฐ์—” button์œผ๋กœ.
\
๐Ÿ›Layout
- ์ƒ๊ฐ๋ณด๋‹ค body { width:100%; } ๋ฅผ ์ค˜์„œ ๋ชจ๋“  ๋„“์ด์—์„œ ์ผ๋ฅ ์ ์œผ๋กœ ๋งž๋Š” UI๋ฅผ ์ฃผ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ณ„๋กœ ์—†๋‹ค. ๊ธฐ๊ธฐ๋ณ„ ๋Œ€์‘์„ ํ•œ๋‹ค.
- margin ์„ ์ค„๋•Œ๋Š” ๊ฐ€์žฅ ๋ฐ”๊นฅ์— ์žˆ๋Š” ๋ถ€๋ชจ์—๊ฒŒ ์ฃผ์ž.
- background-size์˜ ๊ธฐ์ค€์€ ํ•ด๋‹น ์š”์†Œ์˜ width, height! ๊ฐ€์ƒ ์š”์†Œ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋„ฃ์„ ๋•Œ๋Š” ์ด๋ฏธ์ง€ ํฌ๊ธฐ์— ๋งž์ถฐ์„œ ์ค€๋‹ค.
- section์— width๋ฅผ ์ฃผ๊ณ  margin: 0 auto๋กœ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ์‹๋„ ์‚ฌ์šฉํ•œ๋‹ค.
- margin, padding, position ์ฒ˜๋Ÿผ layout ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์†์„ฑ์€ ์œ„์ชฝ์— ๋‘์ž.
- footer ๋ฐ‘์˜ margin์€ main์˜ padding์œผ๋กœ ์ฃผ์ž. ์—ฌ๊ธฐ๋„ margin ๊ฒน์นจ ํ˜„์ƒ์ด ์ผ์–ด๋‚œ๋‹ค.

๊ฐ€์ด๋“œ ์†Œ์Šค์ฝ”๋“œ




3. ๋Š๋‚€์ 

  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ๊ฐ€ ์ข‹์•˜๋‹ค. ๊ฐ™์€ ์•„์›ƒํ’‹์„ ๋‚ด๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๋‹ค๋ฅธ ์Šคํƒ€์ผ๋กœ ์ง  ์ฝ”๋“œ๋ฅผ ๋ณด๋Š” ๊ฒƒ๋„ ์ข‹๊ณ , ์ง์ ‘ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ›์œผ๋‹ˆ๊นŒ ๋„ˆ๋ฌด ์ข‹์•˜๋‹ค.
    ํ˜ผ์ž ๊ณต๋ถ€ํ•  ๋•Œ ๋“œ๋Š” ์ด๋ ‡๊ฒŒ ํ•ด๋„ ๋˜๋‚˜? ๊ฐ€ ์กฐ๊ธˆ์€ ํ•ด์†Œ๋˜๋Š” ๋Š๋‚Œ์ด์—ˆ๋‹ค.
  • validation ๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด ์ตœ์†Œํ•œ์˜ ๊ฒ€์‚ฌ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ์ข‹์•˜๋‹ค. UI๊ฐ€ ์น˜๋ช…์ ์œผ๋กœ ๊นจ์ง€๋ฉด breakpoint ๊ฑธ์–ด์„œ ๋ฉˆ์ถ”๊ฒŒ ํ•ด์„œ ์ฐพ์•˜๋˜ iOS์™€ ๋‹ฌ๋ฆฌ ์ข€ ์ด์ƒํ•ด๋„ ์›น ์‚ฌ์ดํŠธ ์ž์ฒด๊ฐ€ ๋ฉˆ์ถ”๊ฑฐ๋‚˜ ํ•˜์ง„ ์•Š์•„์„œ ์กฐ๊ธˆ ๋ถˆ์•ˆํ–ˆ๋‹ค.
profile
0๋…„์ฐจ iOS ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€