๐Crucial : Element, Class, ID, Descendant Selector, CSS Specificity
๐Important : Adjacent, Direct Decendant, Attribute Selector, Pseudo Elements, Pseudo Classes
CSS Selector
โช * : ์ ์ฒด ์ ํ์, ๋ฌธ์์ ๋ชจ๋ ์์๋ฅผ ์ ๋ถ ์ ํํจ -> ์ ์ฌ์ฉํ์ง๋ ์์
โช Element Selector(์์ ์ ํ์) : img, button, ... ํ๊ทธ์ ์ด๋ฆ์ ์ฌ์ฉํด์ ํด๋น ํ๊ทธ๋ฅผ ์ฌ์ฉํ ๋ชจ๋ ์์๋ค์ ์ ํํจ
ID Selector
โช id๋ ๋ ์ด๋ธ๊ณผ ์ ๋ ฅ์ฐฝ์ ์ฐ๊ฒฐํ๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ CSS์ ๋ชจ๋ ์์์ ํ ์ ์ ๊ณตํจ(CSS๊ฐ ํ๋์ ์์๋ฅผ ๋ฝ์๋ด๋๋ก)
#signup{
background-color : blue;
}
โช # id_name ์ ํ์์ผ๋ก CSS๋ฅผ ์ง์ ํ ์ ์์(์ด๋ฆ ๋ด ๋์ด์ฐ๊ธฐ ์์ผ๋ฉด ์๋จ)
โช ํ๋์ ID๋ ํ์ด์ง ๋ด์์ ํ ๋ฒ๋ง ๋์์ผํจ (์ค๋ณต ์ฌ์ฉ ๊ธ์ง, ๊ทธ๋ฌ๋๊น ๋ฑ 1๊ฐ๋ง ์ ํํ ์ ์์)
โช ID๋ฅผ ์ต์ํ ํ๋ ๊ฒ์ด ์ข์ -> ๋ชจ๋ ๊ฑธ ๋ค๋ฅด๊ฒ ํํํ๋ ค๊ณ ID ์ฌ์ฉํ๋ ๊ฒ ๋ฐ๋. (colt ๊ธฐ์ค ํ ํ์ด์ง์ 10๊ฐ ์ด๋ด)
Class Selector
.complete {
color : green;
}
โช ํด๋์ค๋ ๋งํฌ์ ์ ํ ์ ๊ฑธ์ด CSS์ ์ฐ๊ฒฐํ ๋ค๋ ์ ์ ์ ์ฌ -> ํ์ง๋ง Class๋ ์ฌ๋ฌ ์์์ ์์ฉ ๊ฐ๋ฅ
โช ์ฐ๋ฆฌ๋ ๋ชจ๋ ์์๋ฅผ ๋ค๋ฅด๊ฒ ํ์ง ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, ๊ทธ๋ฃน์ ๋ง๋ค์ด ๊ฐ์ CSS๋ฅผ ์ ์ฉํ๋ Class๋ฅผ ๋ ์์ฃผ ์ฌ์ฉํ ๊ฒ์
โช ํด๋์ค๋ "์คํฐ์ปค"๊ฐ์. -> ์ฐพ๊ณ ์ถ์ ์ด๋ค ์์์๋ผ๋ ๋ถ์ผ ์ ์์
Basic Selectors Practice

Descenant Selector
li a{
color : pink;
}
โช ์์ ์ ํ์ : ๋์ด์ฐ๊ธฐ๋ฅผ ์ด์ฉํจ, ์ผํ๋ ์ฐ๊ฒฐํ์ง๋ง ๋์ด์ฐ๊ธฐ๊ฐ ์์ผ๋ฉด ๊ทธ ์์ ํฌํจ๋ ํ๊ทธ๋ฅผ ์ ํํ๊ฒํจ(li ์์ a ํ๊ทธ)
โช ์๋ฅผ ๋ค์ด ๊ฐ ์น์ ๋ง๋ค ํด๋์ค๋ฅผ ๋ถ์ฌํ๊ณ .class_name img ์ด๋ฐ ํ์์ผ๋ก ์์ฑํ๋ฉด ํน์ ๋ถ๋ถ์ ํน์ ํ๊ทธ๋ง css ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํจ
โช ๋ง์ฝ <footer> <nav> <li> <a> ์์ผ๋ก ์ํด์๋ค๊ณ ํ์๋ footer a ํด๋ ์ ์ฉ๋จ(๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ๋ฉด footer์์ ๋น๋กฏ๋๊ธฐ ๋๋ฌธ)
Descendent Combinator Practice

Adjacent Selector (์ธ์ ์ ํ์)
h1 + p {
color : red;
}
โช + : ์ธ์ ์ ํ์ ์ ์ฒด ์ ํ์ ๋ช ๋ น์ ๋ฐ๊พธ๋ ๊ฒฐํฉ์ ์ญํ
โช h1 ๋ฐ๋ก ๋ค์์ ์ค๋ p๋ฅผ ์ ํ -> ๋ถ๋ชจ๊ฐ ์๋๋ผ ํ์
Direct Child Selector (์ง๊ณ ์์ ์ ํ์)
div > li {
color : white;
}
โช > : ๋ฐ๋ก ์๋์ ์๋ ์์ ์ ํ
โช <div> ํ๊ทธ ๋ฐ๋ก ์๋์๋ <li> ํ๊ทธ๋ง ์ ํ ( ๋์ด์ฐ๊ธฐ๋ ๋ฐ๋ก ์๋๊ฐ ์๋๋ผ ์ด๋์ ์๋ ์๊ด ์์ด ์ ํ ๊ฐ๋ฅํ์์)
โช ์์ฃผ ์ฌ์ฉํ์ง ์์ง๋ง ๊ผญ ์ฌ์ฉํ ๋๊ฐ ์๊ธฐ๊ณค ํจ
Attribute Selector (์์ฑ ์ ํ์)
input[type="text"] {
width : 300px;
color : yellow;
}
โช ์์ฑ ์ ํ์ : ํน์ ์์ฑ(ํ์ )์ ๊ฐ์ง ์์๋ฅผ ์ ํํ ์ ์์, <input>์์ ๋ง์ด ์ฌ์ฉ๋จ
section[class="post"]{ }
section.post{ }
: section ์ค class๊ฐ post์ธ ์์๋ฅผ ์ ํํ๋ ๋ฐฉ๋ฒ 2๊ฐ์ง
a[href*="example"]{ }
: ์ด ๊ตฌ๋ฌธ์ด ๋ ๋ง์ด ์ฌ์ฉ๋จ. *= ๋ href์ค example์ด ํฌํจ๋ ์์๋ค์ ์ ํํด์ค (์๋ฒฝ ์ผ์น ์๋๊ณ ํฌํจ)
Pseudo Classes (๊ฐ์ ํด๋์ค)
โช ๊ฐ์ ํด๋์ค : ์ ํ์ ๋์ ๋ถ์ฌ ์ํ๋ฅผ ํน์ ํ๋ ํค์๋, : ๋ฅผ ์ ๋ ฅํด์ค์ผํจ
โ๏ธ :hover - ์ปค์๊ฐ ์ฌ๋ผ๊ฐ ์์ ๊ฒฝ์ฐ
โ๏ธ :active - ํ์ฑํ ๋์ด์๋ ์ํ (ex - ํด๋ฆญ๋์์ ๋)
โ๏ธ :checked - ์ฒดํฌ๋ฐ์ค๋ ๋ผ๋์ค๋ฒํผ์ด ํด๋ฆญ๋์์ ๋
โ๏ธ :nth-of-type(n) - n๋ฒ์งธ๋ง๋ค ์ ์ฉ(n์๋ฆฌ์ even์ด๋ odd ๊ฐ๋ฅ)
Checkerboard Exercise

Pseudo Elements (๊ฐ์ ์์)
โช ๊ฐ์ ์์ : ๊ฐ์ ํด๋์ค์ฒ๋ผ ์ฌ์ฉํ์ง๋ง, ์ ํ๋ ์์์ ํน์ ๋ถ๋ถ๋ง ์ ํํจ
โ๏ธ ::first-letter - ํด๋น ์์์ ์ฒซ ๊ธ์๋ง ์ ํ
โ๏ธ ::first-line - ํด๋น ์์์ ์ฒซ๋ฒ์งธ ์ค๋ง ์ ํ(๋ฌธ์ฅ ์๋๊ณ ์ค)
โ๏ธ ::selection - ํด๋น ์์์์ ๋๋๊ทธํ ๋ถ๋ถ๋ง ์ ํ
Cascade CSS
โช CSS๋ ์ ์ฉ๋ ์คํ์ผ์ ์์๊ฐ ์ค์ํจ, ํญํฌ์ฒ๋ผ ์์์๋ถํฐ ๋ด๋ ค์์ ๋ง๋ฟ๋ ๊ฒ์ด ์ ์ฉ๋จ
โช ๊ฐ์ ํ๊ทธ์ ๋ค๋ฅธ ์คํ์ผ์ ์ ์ฉํ๋ ค๊ณ ํ๋ค๋ฉด ๋ ๋ค์ ์ ํ์ง ์คํ์ผ์ด ์ ์ฉ๋จ
Specificity(ํน์ด๋)
โช ์๋ก ์ถฉ๋ํ๋ ์คํ์ผ์ด ๋์ผํ ์์์ ์ ์ฉ๋๋ค๋ฉด? -> ์ถฉ๋ ๋ฐ์-> ์ด๋ค ์คํ์ผ์ด ์ ์ฉ๋ ์ง ํน์ด๋์ ๋ฐ๋ผ ๊ฒฐ์ ๋จ
โช ๋ธ๋ผ์ฐ์ ๋ selector๊ฐ ์ผ๋ง๋ ๊ตฌ์ฒด์ ์ธ์ง ์ธก์ ํ๊ณ ๋ ๊ตฌ์ฒด์ ์ธ ์ ํ์๋ฅผ ์ฐ์ ์ํด์ ์ ์ฉ
โ ํน์ด๋ ์์ : id > class > element
(์ฐ์ง ์๋๊ฑธ ์ถ์ฒ)
โช inline style : id๋ณด๋ค ๋ ๋ช ์์ ์, ๊ทธ๋ฌ๋ ๊ฑฐ์ ์์ ์ฌ์ฉ๋์ง ์์ (html์์ ์ธ๋ผ์ธ์ผ๋ก ์์ฑ๋๋ ์ฝ๋๋ฅผ ๋งํ๋ ๊ฒ์)
โช !important : ๊ฐ๋ณ ์คํ์ผ ์ง์ ์ ์ฌ์ฉํ ์ ์์ -> ์์ฐ๋๊ฒ ์ข์, ๋น์ถ์ฒ, ๊ฐ์ ๋ก ์ด๊ฒ์ ์ ์ฉํ๊ฒ ํจ (ํน์ด๋์ ๊ด๋ จx)

CSS Inheritance
โช css ์์ : ๊ตฌ์ฒด์ ์ธ ํน์ฑ์ ์ง์ ํ์ง ์์ ํ์ ์์์ ์์ ํญ๋ชฉ ํน์ฑ์ด ์ ์ฉ๋๋ ๊ฒ
โช input๊ณผ ๊ฐ์ ๋ช๋ช ํ๊ทธ๋ ์์์ ๋ฐ์ง์๋ ๊ฒ์ด ๊ธฐ๋ณธ์ผ๋ก ๋์ด์๊ณคํจ -> ์์ ๋ฐ๊ณ ์ถ์ผ๋ฉด inherit ์ฌ์ฉ
'๊ณต๋ถ ๊ธฐ๋ก > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Udemy] The Web Developer Bootcamp 2022 : [9] ์ ์ฉํ CSS ์์ฑ๋ค (0) | 2022.07.16 |
|---|---|
| [Udemy] The Web Developer Bootcamp 2022 : [8] CSS Box Model (0) | 2022.07.11 |
| [Udemy] The Web Developer Bootcamp 2022 : [6] CSS ๊ธฐ์ด (1) | 2022.07.09 |
| [Udemy] The Web Developer Bootcamp 2022 : [5] HTML form, table (0) | 2022.07.03 |
| [Udemy] The Web Developer Bootcamp 2022 : [4] HTML Semantics (0) | 2022.06.22 |