λͺ¨λ μΉμ μν HTML5+CSS3 λ°μ΄λΈ(2)
π λ€μ΄κ°κΈ°μ μμ
μ΄ κΈμ λͺ¨λ μΉμ μν HTML5+CSS3 λ°μ΄λΈ
μ 곡λΆνλ©° κΈ°μ΅ν΄λ λ΄μ©λ€μ κ°λ¨νκ² κΈ°λ‘ν κΈμ
λλ€.
μ±
μ λν μμΈν μ¬νμ λ§ν¬λ₯Ό μ°Έκ³ ν΄μ£ΌμΈμ. π
π 1. CSS3 μ νμ κΈ°λ³Έ
CSS μ νμλ
CSS3 μ νμλ νΉμ ν HTML νκ·Έλ₯Ό μ νν λ μ¬μ©νλ κΈ°λ₯μΌλ‘ ν΄λΉ νκ·Έμ μ°λ¦¬κ° μνλ μ€νμΌ λλ ν¨κ³Όλ₯Ό μ μ©ν μ μμ΅λλ€.
h1 {
color: red;
}
/* h1: μ νμ, color: μ€νμΌ μμ±, red: μ€νμΌ κ°
"h1 νκ·Έμ color μμ±μ red ν€μλλ₯Ό μ μ©ν©λλ€." */
μ 체 μ νμ
HTML λ¬Έμ μμ μλ λͺ¨λ νκ·Έλ₯Ό μ νν λ, μ 체 μ νμλ₯Ό μ¬μ©ν©λλ€.
μ 체 μ νμλ₯Ό μ¬μ©νλ©΄ html νκ·ΈλΆν° head, title, style, body νκ·ΈκΉμ§ λͺ¨λ μ νν©λλ€.
body νκ·Έ λ΄λΆμ νκ·Έλ€λ§ μ ννλ κ² μλλλ€!
* {
color: yellow;
}
μμ± μ νμ
νΉμ μμ±μ κ°μ§ HTML νκ·Έλ₯Ό μ νν μ μμ΅λλ€.
κΈ°λ³Έ μμ± μ νμ
input[type='text'] {
background: blue;
}
λ¬Έμμ΄ μμ± μ νμ
^=
μ κ²½μ° μμ±κ°μ΄ λ€μ μ€λ κ°μΌλ‘μμ
λλ νκ·Έλ₯Ό μ νν©λλ€.$=
μ κ²½μ° μμ±κ°μ΄ λ€μ μ€λ κ°μΌλ‘λ
λλ νκ·Έλ₯Ό μ νν©λλ€.
div[class^='main'] {
color: green;
}
img[src$='jpg'] {
border: 2px solid gold;
}
νμ μ νμ & μμ μ νμ
μλμ μ½λμμ div νκ·Έλ₯Ό κΈ°μ€μΌλ‘ λ°λ‘ ν λ¨κ³ μλμ μμΉν νκ·Έ(h1
, h2
, ul
)λ₯Ό μμ
μ΄λΌκ³ λΆλ₯΄κ³ μμ νκ·Έλ₯Ό ν¬ν¨ λͺ¨λ divμ μλ νκ·Έλ€μ νμ
μ΄λΌκ³ λΆλ¦
λλ€.
<div>
<h1>CSS3 Selector Basic</h1>
<h2>Lorem ipsum</h2>
<ul>
<li>universal selector</li>
<li>type selector</li>
<li>id & class selector</li>
</ul>
</div>
div h1 {
background: black;
}
/* div νκ·Έμ νμ νκ·Έλ€ μ€ h1 νκ·Έλ€μ΄ λͺ¨λ μ νλ©λλ€. */
div > h2 {
background: skyblue;
}
/* div νκ·Έμ μμ νκ·Έλ€(λ°λ‘ μλ) μ€ h2 νκ·Έλ€μ΄ λͺ¨λ μ νλ©λλ€. */
λμ μ νμ
λμΌν μμΉ(μΈ΅)μ μμΉν νκ·Έλ₯Ό μ νν λ μ¬μ©νλ μ νμμ
λλ€.
CSS3 μ λλ©μ΄μ
μ μ¬μ©ν΄ λμ μΌλ‘ μμ§μ΄λ λ μ΄μμμ ꡬμ±ν λ λμ μ νμλ₯Ό μμ£Ό μ¬μ©ν©λλ€.
<h1>hi</h1>
<h2>bye</h2>
<h2>good</h2>
h1 + h2 {
color: red;
}
/* h1 νκ·Έ `λ°λ‘ λ€`μ μμΉνλ h2 νκ·Έλ₯Ό μ νν©λλ€.
(μ΄ λ, h1κ³Ό h2λ `λμ κ΄κ³`μ
λλ€.) */
h1 ~ h2 {
color: pink;
}
/* h1 νκ·Έ `λ€`μ μμΉνλ λͺ¨λ h2 νκ·Έλ₯Ό μ νν©λλ€.
(μ΄ λ, h1κ³Ό h2λ `λμ κ΄κ³`μ
λλ€.) */
λ°μ μ νμ
μ μ μ λ°μμΌλ‘ μμ±λλ νΉμ μνλ₯Ό μ ννλ μ νμμ λλ€.
h1:hover {
color: red;
}
/* h1 νκ·Έμ λ§μ°μ€λ₯Ό μ¬λ¦΄ κ²½μ°μ μ μ©λ©λλ€.(κ°μΈμ μΌλ‘ μ’μνλ νκ·Έμ
λλ€. π) */
h1:active {
color: blue;
}
/* h1 νκ·Έλ₯Ό λ§μ°μ€λ‘ ν΄λ¦ν λ μ μ©λ©λλ€. */
ꡬ쑰 μ νμ
μμ μ νμμ λ³νν΄μ μμ£Ό μ¬μ©ν©λλ€.
μΌλ° ꡬ쑰 μ νμ
νΉμ ν μμΉμ μλ νκ·Έλ₯Ό μ ννλ μ νμμ λλ€.
:first-child
: νμ κ΄κ³ μ€ μ²« λ²μ§Έμ μμΉνλ νκ·Έλ₯Ό μ νν©λλ€.:last-child
: νμ κ΄κ³ μ€ λ§¨ λμ μμΉνλ νκ·Έλ₯Ό μ νν©λλ€.:nth-child(μμ΄)
: νμ κ΄κ³ μ€ μμμ μμ΄ λ²μ§Έμ μμΉνλ νκ·Έλ₯Ό μ νν©λλ€.:nth-last-child(μμ΄)
: νμ κ΄κ³ μ€ λ€μμ μμ΄ λ²μ§Έμ μμΉνλ νκ·Έλ₯Ό μ νν©λλ€.
νν ꡬ쑰 μ νμ
μΌλ° ꡬ쑰 μ νμμ ν·κ°λ¦¬μ§λ§ νκ·Έ ννλ₯Ό ꡬλΆνλ€λ νΉμ§μ΄ μμ΅λλ€.
:first-of-type
: νμ κ΄κ³ μ€ μ²« λ²μ§Έλ‘ λ±μ₯νλ νΉμ νκ·Έλ₯Ό μ νν©λλ€.:last-of-type
: νμ κ΄κ³ μ€ λ§¨ λμ λ±μ₯νλ νΉμ νκ·Έλ₯Ό μ νν©λλ€.:nth-of-type(μμ΄)
: νμ κ΄κ³ μ€ μμμ μμ΄ λ²μ§Έλ‘ λ±μ₯νλ νκ·Έλ₯Ό μ νν©λλ€.:nth-last-of-type(μμ΄)
: νμ κ΄κ³ μ€ λ€μμ μμ΄ λ²μ§Έλ‘ λ±μ₯νλ νκ·Έλ₯Ό μ νν©λλ€.
λ¬Έμ κ°μ μμ μ νμ(λ¬Έμ μ νμ)
νκ·Έ λ΄λΆ νΉμ 쑰건μ λ¬Έμλ₯Ό μ ννλ μ νμμ
λλ€. κ°μ μμ μ νμλ‘ ::
λ₯Ό μ¬μ©ν©λλ€.
λ°μ λ¬Έμ μ νμ
μ¬μ©μκ° λ¬Έμμ λ°μν΄μ μκΈ°λ μμμ μ νν©λλ€.
::selection
: μ¬μ©μκ° λλκ·Έν κΈμλ₯Ό μ νν©λλ€.
λ§ν¬ μ νμ
href
μμ±μ κ°κ³ μλ a(anchor) νκ·Έμ μ μ©λλ μ νμμ
λλ€.
:link
: href μμ±μ κ°μ§κ³ μλ a νκ·Έλ₯Ό μ νν©λλ€.:visited
: λ°©λ¬Ένλ λ§ν¬λ₯Ό κ°μ§κ³ μλ a νκ·Έλ₯Ό μ νν©λλ€.
λΆμ μ νμ
μ§κΈκΉμ§ λ°°μ΄ λͺ¨λ μ νμλ₯Ό λ°λλ‘
μ μ©ν μ μκ² λ§λλ μ νμμ
λλ€.
:not(μ νμ)
: μ νμλ₯Ό λ°λλ‘ μ μ©ν©λλ€.
input:not([type='password']) {
background: tomato;
}
/* typeκ°μ΄ passwordκ° μλ input νκ·Έλ₯Ό μ νν©λλ€. */
CSS3 μ νμλ 맀μ°λ§€μ°λ§€μ° λ€μνκ³ λ§κΈ°μ λͺ¨λ μΈμΈ μ μμ΅λλ€. μμ μ 리ν μ νμλ€μ κ°μΈμ μΌλ‘ βμ΄λ° κ² μμμ§β μκ°νκ³ μ°Ύμμ μ¬μ©ν μ μλλ‘ μ 리ν΄λ κ²μ λλ€.
λ°λμ 곡μλ¬Έμλ₯Ό 보면μ νμν μ νμλ₯Ό μμΉν μ μλ λ₯λ ₯μ ν€μ°λ κ²μ μΆμ²λ립λλ€. π―