[SEB_FE] Unit3, CSS๐Ÿฃ

seunghyoยท2023๋…„ 2์›” 15์ผ
0

SEB_FE

๋ชฉ๋ก ๋ณด๊ธฐ
3/38
post-thumbnail

1. CSS๋ž€?

์›น ํŽ˜์ด์ง€ ์Šคํƒ€์ผ ๋ฐ ๋ ˆ์ด์•„์›ƒ์„ ์ •ํ•˜๋Š” ์Šคํƒ€์ผ์‹œํŠธ ์–ธ์–ด, UX ์ œ๊ณต
CSS๋ฅผ ํ†ตํ•ด ๊ฐ€๋…์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค. ๋ณด๋‹ค ์ž˜ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ๋Š” ํšจ๊ณผ๋ฅผ ์ค€๋‹ค.
์ง๊ด€์ ์ด๊ณ  ์‰ฌ์šด UI๋ฅผ ์ œ์ž‘ํ•˜๋Š” ๊ฒƒ์€ FE ๊ฐœ๋ฐœ์ž์˜ ๋ชฉ์ ์ด์ž ์†Œ์–‘์ด๋‹ค. ๊ฒฐ๊ตญ ์ข‹์€ UX๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ FE๊ฐœ๋ฐœ์ž์˜ ๋Šฅ๋ ฅ์—์„œ ๋‚˜์˜จ ์ง๊ด€์ ์ด๊ณ  ์‰ฌ์šด UI์ด๋‹ค. (์ปดํฌ๋„ŒํŠธ์˜ ๊ธฐ๋Šฅ ๋ณ„๋กœ ๊ตฌ๋ถ„ํ•˜๋Š” ๋Šฅ๋ ฅ ๋˜ํ•œ ์ค‘์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค.) UX์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•˜๊ณ , ์ข‹์€ ๊ตฌ์„ฑ์ด๋‚˜ ๋ฐฐ์น˜์— ๋Œ€ํ•ด ๋Š์ž„์—†์ด ๊ณ ๋ฏผํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

2. CSS์˜ ๋ฌธ๋ฒ• ๊ตฌ์„ฑ


์…€๋ ‰ํ„ฐ(Selector), ์„ ์–ธ ๋ธ”๋ก(Declaration block), ์„ ์–ธ(Declaration)์œผ๋กœ ์ด๋ฃจ์–ด ์ง€๋Š”๋ฐ, ์„ ์–ธ ์•ˆ์˜ ์†์„ฑ๋ช…(Property)์™€ ์†์„ฑ๊ฐ’(Value) , ์„ ์–ธ๊ตฌ๋ถ„์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ๋ฐ‘ {} ์•ˆ์ด ์„ ์–ธ ๋ธ”๋ก์ด๋‹ค. ํ•˜๋‚˜์˜ ์†์„ฑ๋งŒ ์ž‘์„ฑํ•  ๋•Œ๋Š” ์„ธ๋ฏธ์ฝœ๋ก ์€ ๋ถ™์ด์ง€ ์•Š์•„๋„ ๋ฌด๋ฐฉํ•˜๋‹ค.

.class(์…€๋ ‰ํ„ฐ) {
	color : blue;(์„ ์–ธ)
}

link๋Š” html ํŒŒ์ผ๊ณผ ๋‹ค๋ฅธ ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ์ธ๋ผ์ธ๊ณผ ๋‚ด๋ถ€ ์Šคํƒ€์ผ์‹œํŠธ๋ณด๋‹ค๋Š” ์™ธ๋ถ€์Šคํƒ€์ผ ์‹œํŠธ๋ฅผ ์ถ”์ฒœํ•œ๋‹ค.

link rel="stylesheet" href="index.css" />

3. ์Šคํƒ€์ผ๋ง ์ ์šฉ


โœˆ๏ธid๋กœ ์ด๋ฆ„ ๋ถ™์—ฌ์„œ ์Šคํƒ€์ผ๋ง ์ ์šฉ

h1 {
  color: blue;
}

section ๋ณ„๋กœ ๋‹ค๋ฅธ ์ƒ‰์ƒ์„ ์ ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, id ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋œ๋‹ค. #์œผ๋กœ ์„ ํƒํ•˜๊ณ , ํ•œ ๋ฌธ์„œ์— ํ•˜๋‚˜์˜ ์š”์†Œ์—๋งŒ ์ ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.(id๋Š” ๊ณ ์œ ๊ฐ’!) ํŠน์ • ์š”์†Œ์— ์ด๋ฆ„์„ ๋ถ™์ด๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

#navigation-name {
  color: red;
}

โœˆ๏ธclass๋กœ ์Šคํƒ€์ผ์„ ๋ถ„๋ฅ˜ํ•˜์—ฌ ์ ์šฉ

.์œผ๋กœ ์„ ํƒํ•œ๋‹ค. ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ–๋Š” ์š”์†Œ๊ฐ€ ๋งŽ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

.menu {
  color : red;
}

์—ฌ๋Ÿฌ ํด๋ž˜์Šค๋ฅผ ํ•˜๋‚˜์˜ ์š”์†Œ์˜ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋„์–ด์“ฐ๊ธฐ๋กœ ํด๋ž˜์Šค์˜ ์ด๋ฆ„์„ ๊ตฌ๋ถ„ํ•œ๋‹ค.

4. CSS ๊ฐœ๋…


  • ์ƒ‰์ƒ : color

  • ๋ฐฐ๊ฒฝ์ƒ‰์ƒ : background-color

  • ํ…Œ๋‘๋ฆฌ์ƒ‰์ƒ :border-color

  • ๊ธ€๊ผด: font-family , => google Fonts์—์„œ ๋‹ค์–‘ํ•œ ํฐํŠธ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ๊ธ€๊ผด ํฌ๊ธฐ : font-size

  • ๊ฐ€๋กœ ์ •๋ ฌ : text-align ( left,right, center, justify)

  • ์ ˆ๋Œ€ ๋‹จ์œ„ : px,pt

  • ์ƒ๋Œ€ ๋‹จ์œ„ : %,em, rem,ch,vw,vh ๋“ฑ๋“ฑ..

    ๊ธ€๊ผด์ด๋‚˜ ํ™”๋ฉด ์‚ฌ์ด์ฆˆ๋ฅผ ์ •ํ• ๋•Œ ์ƒ๋Œ€๋‹จ์œ„๋ฅผ ์ถ”์ฒœํ•˜๋Š”๋ฐ, ์‚ฌ์šฉ์ž ์ ‘๊ทผ์„ฑ์— ์œ ๋ฆฌํ•˜๋‹ค. ๋ฐ˜์‘ํ˜• ์›น์—์„œ ๊ธฐ์ค€์ ์„ ๋งŒ๋“ค ๋•Œ ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋””๋ฐ”์ด์Šค์˜ ๋„ˆ๋น„๋‚˜ ๋†’์ด ๋ณ„๋กœ ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”์ง€ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋‹ค. Viewport๊ฐ€ ๋ฐ”๋€œ์— ๋”ฐ๋ผ ๋”ฑ ๋–จ์–ด์ง€๊ฒŒ ์›น์„ ๋ณด์—ฌ์ฃผ๋Š” ์‚ฌ๋ก€๊ฐ€ ์ƒ๋Œ€ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒƒ์ด๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋””๋ฐ”์ด์Šค๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ๋ณด๊ธฐ ์ข‹์€ UI๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค.
    (๊ธฐ๋ณธ์ ์ธ ๊ฒƒ๋งŒ ์ •๋ฆฌํ–ˆ๋‹ค.)

5. ๋ฐ•์Šค ๋ชจ๋ธ


๋ชจ๋“  ์ฝ˜ํ…์ธ ๋Š” ๊ณ ์œ ์˜ ์˜์—ญ์„ ๊ฐ€์ง€๋ฉฐ ํ•˜๋‚˜์˜ ์ฝ˜ํ…์ธ ๋กœ ๋ฌถ์ด๋Š” ์š”์†Œ๋“ค์ด ํ•˜๋‚˜์˜ ๋ฐ•์Šค๊ฐ€ ๋œ๋‹ค. ๋ฐ•์Šค๋Š” ํ•ญ์ƒ ์ง์‚ฌ๊ฐํ˜•์ด๋ฉฐ, ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ ๊ฐ€์ง„๋‹ค. ์ค„๋ฐ”๊ฟˆ์ด ๋˜๋Š” ๋ฐ•์Šค(block)๊ณผ ์˜†์œผ๋กœ ๋ถ™๋Š” ๋ฐ•์Šค(inline, inline-box)๋กœ ๊ตฌ๋ถ„ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ค„ ๋ฐ”๊ฟˆ์ด ๋˜๋Š” ์š”์†Œ์—๋Š” h1,p , ์ค„๋ฐ”๊ฟˆ์ด ์•ˆ๋˜๋Š” ์š”์†Œ๋Š” span์ด ์žˆ๋‹ค. span๋Š” width์™€ height ์†์„ฑ์ด ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋‹ค. ์ด๋•Œ css์—์„œ display = inline-block์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์†์„ฑ ์ ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค

css ๋ฐ•์Šค ๋ชจ๋ธ์€ border๋ฅผ ๊ธฐ์ค€์œผ๋กœ padding(์•ˆ์ชฝ)๊ณผ margin(๋ฐ”๊นฅ์ชฝ)์ด ์žˆ๋‹ค. border-box์ธ ๊ฒฝ์šฐ box์˜ ๋†’์ด: height + padding-top + padding-bottom + border-top + border-bottom , content-box์ธ ๊ฒฝ์šฐ box์˜ ๋†’์ด: height(width์ผ๋•Œ๋„ ๋น„์Šทํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ณ„์‚ฐํ•ด์ค€๋‹ค!)

p {
  margin: 10px 20px 30px 40px; // ์ƒ ์šฐ ํ•˜ ์ขŒ(์‹œ๊ณ„๋ฐฉํ–ฅ)
}

6. CSS Selecter


- ์ „์ฒด ์…€๋ ‰ํ„ฐ

* { }

- ํƒœ๊ทธ ์…€๋ ‰ํ„ฐ

h1 { }
section, div { }

- id ์…€๋ ‰ํ„ฐ
#id { }
- class ์…€๋ ‰ํ„ฐ
.class { }
- ์ž์‹ ์…€๋ ‰ํ„ฐ
์ฒซ๋ฒˆ์งธ๋กœ ์ž…๋ ฅํ•œ ์š”์†Œ ๋ฐ”๋กœ ์•„๋ž˜ ์ž์‹์ธ ์š”์†Œ
header > p { }
- ํ˜•์ œ ์…€๋ ‰ํ„ฐ
๋ถ€๋ชจ ์š”์†Œ๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ ์ฒซ๋ฒˆ์งธ ์ž…๋ ฅ ์š”์†Œ ๋’ค์— ์˜ค๋Š” ๋‘๋ฒˆ์งธ ์ž…๋ ฅํ•œ ๋ชจ๋“  ์š”์†Œ ์„ ํƒ
header ~ p { }
- ์ธ์ ‘ ํ˜•์ œ ์…€๋ ‰ํ„ฐ
๊ฐ™์€ ๋ถ€๋ชจ ์š”์†Œ๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ, ์ฒซ ๋ฒˆ์งธ ์ž…๋ ฅํ•œ ์š”์†Œ ๋ฐ”๋กœ ๋’ค์— ์˜ค๋Š” ๋‘๋ฒˆ์งธ ์ž…๋ ฅํ•œ ์š”์†Œ๋ฅผ ์„ ํƒํ•œ๋‹ค.

a:link { } ,a:visited { } ,a:hover { } ,a:active { } ,a:focus { } ๋“ฑ๋“ฑ ์š”์†Œ ์ƒํƒœ ์ •๋ณด์— ๊ธฐ๋ฐ˜ํ•ด ์„ ํƒํ•˜๋Š” ๊ฐ€์ƒํด๋ž˜์Šค ์…€๋ ‰ํ„ฐ๋„ ์žˆ๋‹ค. ๊ทธ ๋ฐ–์—๋„ UI ์š”์†Œ ์ƒํƒœ ์…€๋ ‰ํ„ฐ, ๊ตฌ์กฐ ๊ฐ€์ƒ ํด๋ž˜์Šค ์…€๋ ‰ํ„ฐ, ๋ถ€์ • ์…€๋ ‰ํ„ฐ, ์ •ํ•ฉ์„ฑ ํ™•์ธ ์…€๋ ‰ํ„ฐ ๋“ฑ์ด ์žˆ๋‹ค.

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