- Published on
π HTML-CSS(2)-λΆμ€νΈμ½μ€ κ°μ μ 리
- κΈμ΄μ΄
π λͺ©μ°¨
ππ»
Part2.CSS
- CSS μ΄ν΄νκΈ°
- λ¨μ, λ°°κ²½, λ°μ€λͺ¨λΈ
- ν°νΈ, ν μ€νΈ
- λ μ΄μμ
- λ―Έλμ΄μΏΌλ¦¬
β 4. CSS μ΄ν΄νκΈ°
μΉ νμ΄μ§λ₯Ό μ¬λμ λΉμ ν΄λ³΄μλ©΄, λ§ν¬μ
μΈμ΄(HTML)λ λͺΈμ ꡬ쑰(λΌ, κ·Όμ‘)λ₯Ό λ΄λΉνκ³
CSSλ μ·κ³Ό μ λ°κ³Ό κ°μ΄ μΈμ μΌλ‘ κΎΈλ©°μ£Όλ μν μ νλ€κ³ μκ°νμ.~
- CSS ꡬ문
- CSS μ μ© λ°©μ
CSS λ¬Έλ²
h1 {
color: yellow;
font-size: 2em;
}
- μ νμ(selector) :
"h1"
- μμ±(property) :
"color"
- κ°(value) :
"yellow"
- μ μΈ(declaration) :
"color: yellow", "font-size: 2em"
- μ μΈλΆ(declaration block) :
"{ color: yellow; font-size:2em; }"
- κ·μΉ(rule set) :
"h1 { color: yellow; font-size:2em; }"
μ νμμ μ μΈλΆ μ¬μ΄, μ μΈκ³Ό μ μΈ μ¬μ΄λ μλ€λ‘ κ°νμ ν΄λ μκ΄μ΄ μμ΅λλ€.
νμ§λ§ μμ±μ΄λ¦κ³Ό μμ±κ° μ¬μ΄μλ κ°νμ νλ©΄ μ λ©λλ€.
CSSμ μμ±(Property)κ³Ό HTMLμ μμ±(Attribute)
HTMLμλ μμ±μ΄ μκ³ , CSSμλ μμ±μ΄ μμ΅λλ€. λ κ°μ§λ μ ν λ€λ₯Έ κ²μ
λλ€.
HTMLμ μμ±μ μμ΄λ‘ attribute
μ΄κ³ , CSSμ μμ±μ property
μ
λλ€.
λ λ€ νκ΅μ΄λ‘ λ²μν λ "μμ±"μ΄λΌκ³ νλ―λ‘ μ ꡬλΆνμ
μΌ ν©λλ€.
CSS μ£Όμ
/* μ£Όμ λ΄μ©*/
μ£Όμ λ΄μ©μ μ¬λ¬ μ€λ‘ μ μΈν μ μμ
CSSμ μ μ©
CSSμ λ¬Έμλ₯Ό μ°κ²°νλ λ°©λ²μ 4κ°μ§κ° μμ΅λλ€.
- Inline
Inlineμ ν΄λΉ μμμ μ§μ μ€νμΌ μμ±μ μ΄μ©ν΄μ κ·μΉλ€μ μ μΈνλ λ°©λ²μ λλ€. ν΄λΉ μμμ μ§μ μ λ ₯νκΈ° λλ¬Έμ μ νμλ νμνμ§ μκ² λκ³ , μ μΈλΆμ λ΄μ©λ§ μ€νμΌ μμ±μ κ°μΌλ‘ λ£μ΄μ£Όλ©΄ λ©λλ€. Inline μ€νμΌ λ°©μμ μ½λμ μ¬νμ©μ΄ λμ§ μκΈ° λλ¬Έμ μμ£Ό μ¬μ©νμ§ μμ΅λλ€.
- Internal
Internalμ λ¬Έμμ <style>
μ νμ©ν λ°©λ²μ
λλ€.
<style>
μ <head>
λ΄λΆμ λ€μ΄κ°λ©° <style>
μμ μ€νμΌ κ·μΉμ΄ λ€μ΄κ°λλ€.
λ§μ νμ΄μ§κ° μλ κ²½μ°μλ λͺ¨λ νμ΄μ§μ μ λ§λ€μ κ·μΉμ μ μΈν΄μ€μΌ ν©λλ€.
νμ΄μ§κ° λ§κ³ μ€νμΌ κ·μΉ λ΄μ©μ΄ λ§μμ§λ©΄ κ΄λ¦¬κ° μ΄λ €μμ§λλ€.
- External
Externalμ μΈλΆ μ€νμΌ μνΈ νμΌμ μ΄μ©ν λ°©λ²μ
λλ€.
μΈλΆ μ€νμΌ μνΈλ μ€νμΌ κ·μΉλ€μ λ³λμ μΈλΆ νμΌμ λ§λ€μ΄ λ£λ λ°©μμ
λλ€.
μΈλΆ νμΌμ νμ₯μκ° .css
κ° λλ©° css
νμΌμ΄λΌκ³ λΆλ¦
λλ€.
μΈλΆ μ€νμΌ μνΈ λ°©μμ νμΌ κ΄λ¦¬κ° νΈνλ©΄μλ μ©λμ΄ μκΈ° λλ¬Έμ μ£Όλ‘ μ¬μ©λλ λ°©λ²μ
λλ€.
- Import
Importλ μ€νμΌ μνΈ λ΄μμ λ€λ₯Έ μ€νμΌ μνΈ νμΌμ λΆλ¬μ€λ λ°©μμ λλ€.
<style>
λ΄λΆ μλ¨μ΄λ μΈλΆ μ€νμΌ μνΈ νμΌ μλ¨μ μ μΈνλλ° μ±λ₯μ μ’μ§ μμμ κ±°μ μ°μ΄μ§ μμ΅λλ€.
μ νμ
μ νμλ 볡μ‘νκ³ λ€μν μμλ€ μ¬μ΄μμ λ΄κ° μνλ μμλ§μ μ νν μ μλλ‘ λμμ€λλ€.
- κ·Έλ£Ήν : μ νμλ μΌνλ₯Ό μ΄μ©ν΄μ κ·Έλ£Ήνλ₯Ό ν μ μμ΅λλ€. *(λ³ν)κΈ°νΈλ‘ λ¬Έμ λ΄μ λͺ¨λ μμλ₯Ό μ νν μλ μμ΅λλ€.
μ νμ μ΄λ¦ | μ€λͺ |
---|---|
μμ μ νμ (νκ·Έ μ νμ) | μ νμ λΆλΆμ νκ·Έ μ΄λ¦μ΄ λ€μ΄κ°. λ¬Έμ λ΄μ μ νμμ ν΄λΉνλ λͺ¨λ μμμ μ€νμΌ κ·μΉμ΄ μ μ©λ¨ |
class μ νμ | μμμ ꡬμ λ°μ§ μκ³ μ€νμΌ κ·μΉμ μ μ©ν μ μλ κ°μ₯ μΌλ°μ μΈ λ°©λ²μ class μ νμλ₯Ό νμ©νλ κ²λ§¨ μμ .(λ§μΉ¨ν)λ₯Ό μ°μ΄μ€ |
id μ νμ | class μ νμμ λΉμ·. λ§μΉ¨νκΈ°νΈ λμ #(ν΄μ)κΈ°νΈλ₯Ό μ°λ©΄ λ¨.μμμλ id λ₯Ό μ°λ©΄ λ¨. |
μμ± μ νμ | μμ± μ νμλ λκ΄νΈλ₯Ό μ΄μ©ν΄μ μ μΈνλ©° λκ΄νΈ μμ μμ± μ΄λ¦μ΄ λ€μ΄κ°λλ€. |
id
μ νμμ class
μ νμμμ μ°¨μ΄μ
- .κΈ°νΈκ° μλ #κΈ°νΈ μ¬μ©
- νκ·Έμ
class
μμ±μ΄ μλid
μμ±μ μ°Έμ‘° - λ¬Έμ λ΄μ μ μΌν μμμ μ¬μ©
- ꡬ체μ±
μ νμμ μ‘°ν©
/* μμμ `class`μ μ‘°ν© */
p.bar { ... }
/* λ€μ€ class */
.foo.bar { ... }
/* idμ classμ μ‘°ν© */
#foo.bar { ... }
μμ± μ νμ
- λ¨μ μμ±μΌλ‘ μ ν
- μ νν μμ±κ°μΌλ‘ μ ν
- λΆλΆ μμ±κ°μΌλ‘ μ ν : λΆλΆ μμ±κ°μΌλ‘ μ νμ μμ± μ΄λ¦κ³Ό μμ±κ° μ¬μ΄μ μ¬μ©λλ κΈ°νΈμ λ°λΌ λμμ΄ μ‘°κΈ λ€λ¦ λλ€.
λΆλΆ μμ±κ° μ ν | μ€λͺ |
---|---|
[class~="bar"] | class μμ±μ κ°μ΄ 곡백μΌλ‘ ꡬλΆν "bar" λ¨μ΄κ° ν¬ν¨λλ μμ μ ν |
[class^="bar"] | class μμ±μ κ°μ΄ "bar"λ‘ μμνλ μμ μ ν |
[class$="bar"] | class μμ±μ κ°μ΄ "bar"λ‘ λλλ μμ μ ν |
[class*="bar"] | class μμ±μ κ°μ΄ "bar" λ¬Έμκ° ν¬ν¨λλ μμ μ ν |
λ¬Έμ ꡬ쑰 κ΄λ ¨ μ νμ
λ¬Έμ ꡬ쑰μ μ΄ν΄
- λΆλͺ¨μ μμ κ΄κ³
- μ‘°μκ³Ό μμ κ΄κ³
- νμ κ΄κ³
λ¬Έμ ꡬ쑰 κ΄λ ¨ μ νμ
- μμ μ νμ : μμ μ νμλ μ νμ μ¬μ΄μ μ무 κΈ°νΈμμ΄ κ·Έλ₯ 곡백μΌλ‘ ꡬλΆμ ν©λλ€.
- μμ μ νμ : μμ μ νμλ μ νμ μ¬μ΄μ λ«λ κΊ½μ κΈ°νΈ(>)λ₯Ό λ£μ΅λλ€.
- μΈμ νμ μ νμ : μΈμ νμ μ νμλ μ νμ μ¬μ΄μ + κΈ°νΈλ₯Ό λ£μ΅λλ€.
κ°μ μ νμ
κ°μ μ νμμλ κ°μ ν΄λμ€μ κ°μ μμκ° μμ΅λλ€. κ°μ ν΄λμ€ μ νμλ νΉμ μμμ μνλ₯Ό 미리 μΆμ ν΄μ κ°μμ ν΄λμ€λ‘ μ€νμΌμ μ μ©ν μ μλ μ νμμ λλ€.
:pseudo-class {
property: value;
}
κ°μ ν΄λμ€ μ΄λ¦ | μ€λͺ |
---|---|
:first-child | 첫 λ²μ§Έ μμ μμ μ ν |
:last-child | λ§μ§λ§ μμ μμ μ ν |
:link | νμ΄νΌ λ§ν¬μ΄λ©΄μ μμ§ λ°©λ¬Ένμ§ μμ μ΅μ»€ |
:visited | μ΄λ―Έ λ°©λ¬Έν νμ΄νΌλ§ν¬λ₯Ό μλ―Έ |
:focus | νμ¬ μ λ ₯ μ΄μ μ κ°μ§ μμμ μ μ© |
:hover | λ§μ°μ€ ν¬μΈν°κ° μλ μμμ μ μ© |
:active | μ¬μ©μ μ λ ₯μΌλ‘ νμ±νλ μμμ μ μ© |
κ°μ μμ
κ°μ μμλ HTML μ½λμ μ‘΄μ¬νμ§ μλ ꡬ쑰 μμμ μ€νμΌμ λΆμ¬ν μκ° μμ΅λλ€. κ°μ μμλ κ°μ ν΄λμ€μ²λΌ λ¬Έμ λ΄μ 보μ΄μ§ μμ§λ§, 미리 μ μν μμΉμ μ½μ λλλ‘ μ½μμ΄ λμ΄μμ΅λλ€. μ μΈ λ°©λ²μ κ°μ ν΄λμ€μ κ°κ² μ½λ‘ μ μ¬μ©νλ©°, CSS3λΆν°λ κ°μ ν΄λμ€μ κ°μ μμλ₯Ό ꡬλΆνκΈ° μν΄ κ°μ μμμλ ::(λλΈ μ½λ‘ ) κΈ°νΈλ₯Ό μ¬μ©νκΈ°λ‘ νμ΅λλ€. νμ§λ§ νμ λΈλΌμ°μ μμ :: λ¬Έλ²μ μ§μνμ§ μλ λ¬Έμ κ° μμΌλ―λ‘ μν©μ λ°λΌ : κΈ°νΈλ₯Ό μ¬μ©νμ μΌ ν©λλ€.
::pseudo-element {
property: value;
}
κ°μ μμ μ΄λ¦ | μ€λͺ |
---|---|
:before | κ°μ₯ μμ μμλ₯Ό μ½μ |
:after | κ°μ₯ λ€μ μμλ₯Ό μ½μ |
:first-line | μμμ 첫 λ²μ§Έ μ€μ μλ ν μ€νΈ |
:first-letter | λΈλ‘ λ 벨 μμμ 첫λ²μ§Έ λ¬Έμ |
cascading κ·μΉ
cascadingμ μ€νμΌ κ·μΉλ€μ΄ μ΄λ ν κΈ°μ€μΌλ‘ μμμ μ μ©λλμ§λ₯Ό μ ν κ·μΉμ λλ€. cascadingμ νν¬κ° λ΄λ €μ€λ λͺ¨μμ²λΌ λ¨κ³μ μΈ μ΄λΌλ μλ―Έλ₯Ό μ§λλ©°, λͺ¨λ μ€νμΌ κ·μΉλ€μ cascadingμ λ¨κ³μ μΈ κ·μΉμ λ°λΌ μμμ μ μ©λ©λλ€.
5. λ¨μ, λ°°κ²½, λ°μ€λͺ¨λΈ
μμ±
- μ μμ ꡬ문
- λ¨μ : μ λκΈΈμ΄ / μλκΈΈμ΄
- μμ
- background :
λ°°κ²½μ κ΄λ ¨λ μμ±μλ μμ, μ΄λ―Έμ§, λ°λ³΅ μ¬λΆ λ± μ¬λ¬ μμ±μ΄ μ‘΄μ¬νκ³ , μ΄ μμ±λ€μ ν λ²μ λͺ¨μμ μ¬μ©ν μλ μμ΅λλ€.
markup background: [-color] [-image] [-repeat] [-attachment] [-position];
- boxmodel
- border : border μμ±μ μμμ ν λ리μ κ΄λ ¨λ μμ±μ μ§μ ν λ μ¬μ©ν©λλ€.
- padding : adding μμμ borderμ content μ¬μ΄μ μ¬λ°±
- margin : marginμ border μμμ λ€λ₯Έ μμμ ꡬλ³νκΈ° μν΄ μ°μ΄λ λΉ μμ
- margin & padding : λ μμ±μ μ°¨μ΄λ₯Ό μ΄ν΄νκΈ°
- width : μ ννλ content μμμ λλΉλ₯Ό μ§μ νλ κ²μ μλ―Έ
- height : widthμ λ§μ°¬κ°μ§λ‘ μ ννλ content μμμ λμ΄λ₯Ό μ§μ νλ κ²
- boxmodel μ 리
6. ν°νΈ, ν μ€νΈ
HTMLμ΄ μ²μ λ±μ₯νμ λλ μ΄λ―Έμ§λ₯Ό νννλ κΈ°λ₯λ μλ λ¬Έμλ§ μ‘΄μ¬νλ λ―Έλμ΄μμ΅λλ€. κ·Έλ¬λ―λ‘ HTMLμμ μ체μ κ΄λ ¨λ λΆλΆμ κ°μ₯ λ°μ ν λΆμΌμ΄λ©΄μ λμμ μμ±μ λΉλμλ κ°μ₯ λ§μ΅λλ€. ν°νΈ μμ±, ν μ€νΈ μμ±, κ°κ²© κ΄λ ¨ μμ± λ± λ€μν μ체 κ΄λ ¨ μμ±μ΄ μμ΅λλ€.
νμ΄ν¬κ·ΈλνΌμ ꡬ쑰
ν°νΈλ₯Ό μ΄ν΄νκΈ° μν΄μλ νμ΄ν¬κ·ΈλνΌμ ꡬ쑰λ₯Ό λ¨Όμ μ΄ν΄ν΄μΌ ν©λλ€. λͺ¨λ ν°νΈλ emλ°μ€λ₯Ό κ°μ§κ³ μκ³ μ κ·Έλ¦Όκ³Ό κ°μ κ΅¬μ‘°λ‘ μ΄λ£¨μ΄μ Έ μμ΅λλ€.
β’em ν°νΈμ μ 체 λμ΄λ₯Ό μλ―Έν©λλ€.
β’ex ( = x-height ) ν΄λΉ ν°νΈμ μλ¬Έ μλ¬Έμ xμ λμ΄λ₯Ό μλ―Έν©λλ€.
β’Baseline μλ¬Έμ xλ₯Ό κΈ°μ€μΌλ‘ νλ¨μ λΌμΈμ μλ―Έν©λλ€.
β’Descender μλ¬Έμμμ baseline μλλ‘ μ³μ§λ μμμ μλ―Έν©λλ€. μ체μ λ°λΌ descenderμ κΈΈμ΄κ° λ€λ¦
λλ€. ( g, j, p, q, y )
β’Ascender μλ¬Έμ xμ μλ¨ λΌμΈ μλ‘ λμ΄κ°λ μμμ μλ―Έν©λλ€. ( b, d, h, l )
μμ±
- νμ΄ν¬κ·ΈλνΌ
- font-family : κΈκΌ΄μ μ§μ νλ μμ±
- line-height : νκ° μ‘°μ
- font-size : κΈκΌ΄μ ν¬κΈ°λ₯Ό μ§μ
- font-weight : κΈκΌ΄μ κ΅΅κΈ°λ₯Ό μ§μ νλ μμ±
- font-style : κΈκΌ΄μ μ€νμΌμ μ§μ νλ μμ±
- font-variant : κΈκΌ΄μ ννλ₯Ό λ³ννλ μμ±μΌλ‘ μλ¬Έμλ₯Ό μμ λλ¬Έμλ‘ λ³νν μ μμ΅λλ€.
- font : font-style, font-variant, font-weight, font-size/line-height, font-family μμ±λ€μ ν λ²μ μ μΈν μ μλ μΆμ½ν μμ±
- webfont : @font-face - μΉμ μλ κΈκΌ΄μ μ¬μ©μμ λ‘컬 νκ²½(μ»΄ν¨ν°)μΌλ‘ λ€μ΄λ‘λνμ¬ μ μ©νλ μμ±
- vertical-align : μμμ μμ§ μ λ ¬μ μ§μ νλ μμ±
- text-align : μΈλΌμΈ μμμ μν μ λ ¬μ μ¬μ©
- text-indent : ν μ€νΈμ λ€μ¬μ°κΈ°λ₯Ό μ§μ νλ μμ±
- text-decoration : ν μ€νΈμ μ₯μμ μ§μ νλ μμ±
- λ¨μ΄ κ΄λ ¨ μμ± : white-space, letter-spacing, word-spacing, word-break, word-wrap
7. λ μ΄μμ
μμ±
- display :
λͺ¨λ μμλ μκΈ°κ° κΈ°λ³Έμ μΌλ‘ κ°μ§κ³ μλ display κ°μ΄ μκ³
κ·Έ κ°μ λ°λΌ λΈλ‘ λ 벨, μΈλΌμΈ λ 벨 λ± λ λλ§ λ°μ€μ μ νμ΄ κ²°μ λ©λλ€. - visibility : CSSμμ μμλ₯Ό μ¨κΈ°λ λ°©λ² μ€ νλ.
- float : μμλ₯Ό float(μμλ₯Ό 보ν΅μ νλ¦μμ λ²μ΄λκ² ν¨) μν¬μ§ μ§μ νλ μμ±
- clear : μμλ₯Ό floating λ μμμ μν₯μμ λ²μ΄λκ² νλ μμ±
- position : μμμ μμΉλ₯Ό μ νλ λ°©λ²μ μ§μ νλ μμ±
- z-index : μμκ° κ²ΉμΉλ μμ(μμ μμ λλ stack order)λ₯Ό μ§μ νλ μμ±
- HTML/CSS μ ν¨μ± κ²μ¬ : HTML/CSSμ΄ μ΅μνμ§ μμ λλ λ°λμ μ½λ μμ± ν νμ μ ν¨μ± κ²μ¬νλ μ΅κ΄μ λ€μ΄μΈμ!
8. λ―Έλμ΄μΏΌλ¦¬
μκ°
λ―Έλμ΄ν΄λ¦¬(Media Queries)λ κ° λ―Έλμ΄ λ§€μ²΄μ λ°λΌ λ€λ₯Έ μ€νμΌ(css style)μ μ μ©ν μ μκ² λ§λλ κ²μ λλ€. λ―Έλμ΄ λ§€μ²΄λ λͺ¨λν°μ κ°μ μ€ν¬λ¦° 맀체, νλ¦°νΈ, μ€ν¬λ¦° 리λκΈ°μ κ°μ κ²λ€μ μ΄μΌκΈ° ν©λλ€. λ―Έλμ΄μΏΌλ¦¬λ λμΌν μΉ νμ΄μ§λ₯Ό λ€μν νκ²½μ μ¬μ©μλ€μκ² μ΅μ νλ κ²½νμ μ 곡ν μ μκ² ν΄μ€λλ€.
@media(at media)
λ―Έλμ΄ μΏΌλ¦¬λ CSS2 Media Typesμ νμ₯νκΈ° λλ¬Έμ μ μΈ λ°©λ²μ λμΌν©λλ€.
@media mediaqueries { /* style rules */ }
@media λ‘ μμνλ©°, μ΄ ν€μλλ μ΄μ λΆν° λ―Έλμ΄ μΏΌλ¦¬λ₯Ό μμνλ€ λΌλ λ»μ λλ€. λ―Έλμ΄ μΏΌλ¦¬ ꡬ문μ λ―Έλμ΄ νμ (Media Types)κ³Ό λ―Έλμ΄ νΉμ±(Media Features)μΌλ‘ μ΄λ£¨μ΄μ Έ μμ΅λλ€.
viewport
μ€λ§νΈν° μ΄μ μλμλ λλΆλΆμ μΉ νμ΄μ§κ° λ°μ€ν¬ν λͺ¨λν° μ¬μ΄μ¦λ₯Ό κ³ λ €ν΄μ μ μλμκΈ° λλ¬Έμ λͺ¨λ°μΌ κΈ°κΈ°μ²λΌ μμ νλ©΄μμλ λͺ¨λ 보μ΄μ§ μμ μ’μ°λ‘ μ€ν¬λ‘€μ ν΄μΌλ§ λ΄μ©μ λ³Ό μκ° μμμ΅λλ€. κ·Έλμ λͺ¨λ°μΌ λΈλΌμ°μ λ€μ λ·°ν¬νΈ(viewport)λΌλ κ°μμ νλ©΄μ λ§λ€κ³ κ·Έ νλ©΄μ νμ΄μ§λ₯Ό λνλ΄κΈ° μμνμ΅λλ€.
μ¬κΈ°μμ μ€μ μ°λ¦¬κ° 보λ μ€λ§νΈν°μ μ€ν¬λ¦° μ¬μ΄μ¦(device-width/height)μ λΈλΌμ°μ κ° νλ©΄μ λνλ΄λ κ°μμ νλ©΄ μ¬μ΄μ¦(viewport)μ μ°¨μ΄κ° μκΈ°κ² λ©λλ€.
κ·Έλμ λͺ¨λ°μΌ safariμμ λ·°ν¬νΈλ₯Ό μ€μ ν μ μλ νκ·Έλ₯Ό λμ ν΄μ λ·°ν¬νΈμ ν¬κΈ°μ μ€μΌμΌμ μ‘°μ ν μ μκ² νμ΅λλ€.