header-img
Info :
밀도
denseΒΉ
μž₯래희망 : λ‹¨μœ„ λΆ€ν”Ό λ‹Ή μ§ˆλŸ‰μ΄ 보닀 λΉ½λΉ½ν•œ μ‚¬λžŒ 되기

 

 

 

μ„ νƒμžλŠ” CSSμ—μ„œ μŠ€νƒ€μΌμ„ μž…νž HTML λ“± λ§ˆν¬μ—… μ–Έμ–΄μ˜ μš”μ†Œλ₯Ό μ„ νƒν•˜λŠ” 문자λ₯Ό λœ»ν•œλ‹€. λŒ€λΆ€λΆ„μ˜ CSS μ½”λ“œλŠ” A { (B): (C); } ν˜•νƒœλ‘œ 이뀄져 μžˆλŠ”λ°, μŠ€νƒ€μΌμ„ λ‚˜μ—΄ν•œ μ€‘κ΄„ν˜Έ μ•ž 뢀뢄에 μ˜€λŠ” A 뢀뢄이 λ°”λ‘œ μ„ νƒμžλ‹€. 이번 ν¬μŠ€νŠΈλŠ” μ„ νƒμžμ˜ μœ ν˜•κ³Ό 쑰합에 λŒ€ν•΄ μ•Œμ•„λ³΄κ³ , μ„ νƒμžμ™€ λ¬Έμ„œμ˜ 관계 κΈ°μ€€μœΌλ‘œ λ¬Έμ„œ ꡬ쑰λ₯Ό 이해해 λ³Έλ‹€. <ν•΄λ‹Ή ν¬μŠ€νŠΈλŠ” λΉ„μ „κ³΅μžλ₯Ό μœ„ν•œ HTML/CSS κ°•μ˜ κΈ°λ°˜μœΌλ‘œ μž‘μ„±λλ‹€>

 

 

 

μš”μ†Œ μ„ νƒμž

 

h1 { color: yellow; }
h2 { color: yellow; }
h3 { color: yellow; }
h4 { color: yellow; }
h5 { color: yellow; }
h6 { color: yellow; }

 

μ„ νƒμž 쀑 κ°€μž₯ 기본이 λ˜λŠ” μ„ νƒμžλ‘œ, μ„ νƒμž 뢀뢄에 νƒœκ·Έ 이름이 λ“€μ–΄κ°€λŠ” 점을 λ”°μ„œ νƒœκ·Έ μ„ νƒμžλΌκ³ λ„ ν•œλ‹€. μš”μ†Œ μ„ νƒμžλ₯Ό μ‚¬μš©ν•˜λ©΄ λ¬Έμ„œ λ‚΄ μ„ νƒμžμ— ν•΄λ‹Ήν•˜λŠ” λͺ¨λ“  μš”μ†Œμ— μŠ€νƒ€μΌ κ·œμΉ™μ΄ μ μš©λœλ‹€.

 

 

 

κ·Έλ£Ήν™”

 

h1, h2, h3, h4, h5, h6 { color: yellow; }
* { color: yellow; }


μ„ νƒμžλŠ” 기본적으둜 μ‰Όν‘œλ₯Ό μ΄μš©ν•΄μ„œ κ·Έλ£Ήν™”ν•  수 있고, asterisk 기호(*)둜 λ¬Έμ„œ λ‚΄μ˜ λͺ¨λ“  μš”μ†Œλ₯Ό 선택할 μˆ˜λ„ μžˆλ‹€. 

 

h1 { color: yellow; font-size: 2em; background-color: gray; }
h1, h2, h3, h4, h5, h6 { color: yellow; font-size: 2em; background-color: gray; }


 μ„ νƒμž 뿐 μ•„λ‹ˆλΌ 선언도 κ·Έλ£Ήν™” κ°€λŠ₯ν•˜λ‹€. λ¬Όλ‘  μ„ νƒμžμ™€ 선언을 λ™μ‹œμ— κ·Έλ£Ήν™”ν•  μˆ˜λ„ μžˆλ‹€.

 

 

μš”μ†Œ μ„ νƒμžμ˜ ν•œκ³„

 

μ•„λž˜μ™€ 같은 μ½”λ“œκ°€ μžˆλ‹€κ³  κ°€μ •ν•˜μž.

 

<dl>
    <dt>HTML</dt>
    <dd><span>HTML</span>은 λ¬Έμ„œμ˜ ꡬ쑰λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.</dd>
    <dt>CSS</dt>
    <dd><span>CSS</span>λŠ” λ¬Έμ„œμ˜ ν‘œν˜„μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.</dd>
</dl>

 

당신은 ν•΄λ‹Ή HTML λ¬Έμ„œμ˜ "HTML" λΆ€λΆ„μ—λŠ” 보라색 κΈ€μžλ₯Ό μ§€μ •ν•˜κ³ , "CSS" λΆ€λΆ„μ—λŠ” 밑쀄을 μ„ μ–Έν•˜κ³  μ‹Άλ‹€. ν•˜μ§€λ§Œ μš”μ†Œ μ„ νƒμžλ‘œλŠ” λ™μΌν•œ μ΄λ¦„μœΌλ‘œ λ¬Άμ—¬ μžˆλŠ” μš”μ†Œλ₯Ό 각각 μ„ νƒν•΄μ„œ κ·œμΉ™μ„ μ μš©ν•˜κΈ°λŠ” λΆˆκ°€λŠ₯ν•˜λ‹€. <dt>에 보라색을 μ§€μ •ν•˜λ©΄ "CSS"도 λ³΄λΌμƒ‰μœΌλ‘œ λ³€ν•  것이고, λ°˜λŒ€λ‘œ <dt>에 밑쀄을 그으면 "HTML"에도 λ™μΌν•˜κ²Œ 밑쀄이 κ·Έμ–΄μ§ˆ 것이닀. 당신이 μ›ν•˜λŠ” λ°©μ‹λŒ€λ‘œ λ¬Έλ§₯λ§ˆλ‹€ μŠ€νƒ€μΌμ„ 각각 μ μš©ν•  방법은 μ—†μ„κΉŒ? 

 

 

 

class μ„ νƒμž

 

.foo { font-size: 30px; }

 

<p class="foo"> ... </p>

 

μš”μ†Œμ— ꡬ애받지 μ•Šκ³  μŠ€νƒ€μΌ κ·œμΉ™μ„ μ μš©μ‹œν‚€λŠ” κ°€μž₯ 일반적인 방법은 class μ„ νƒμžλ₯Ό ν™œμš©ν•˜λŠ” 것이닀. HTMLμ—μ„œ λ™μΌν•œ μŠ€νƒ€μΌμ„ μ μš©λ°›μ„ classλͺ…을 적어 놓고 CSSμ—μ„œ μ μš©ν•  κ·œμΉ™μ„ 써 λ†“μœΌλ©΄ λ™μΌν•œ classλͺ…을 κ°€μ§„ λͺ¨λ“  μš”μ†Œμ— λ™μΌν•œ μŠ€νƒ€μΌ κ·œμΉ™μ΄ μ μš©λœλ‹€. 그럼 class μ„ νƒμžλ₯Ό μ΄μš©ν•΄ μš”μ†Œ μ„ νƒμžλ‘œ κ΅¬ν˜„ν•΄λ‚΄μ§€ λͺ» ν–ˆλ˜ 뢀뢄을 κ΅¬ν˜„ν•΄ 보자.

 

.html { color: purple; }
.css { text-decoration: underline; }

 

<dl>
    <dt class="html">HTML</dt>
    <dd><span class="html">HTML</span>은 λ¬Έμ„œμ˜ ꡬ쑰λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.</dd>
    <dt class="css">CSS</dt>
    <dd><span class="css">CSS</span>λŠ” λ¬Έμ„œμ˜ ν‘œν˜„μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.</dd>
</dl>

 

μ΄λ•Œ, ν•œ μš”μ†ŒλŠ” class 속성을 λ™μ‹œμ— μ—¬λŸ¬ 개 κ°€μ§ˆ 수 μžˆλ‹€. 곡백으둜 ꡬ뢄해 μ—¬λŸ¬ 개의 class 값을 λ„£μ–΄ μ£Όλ©΄ λœλ‹€. 

 

.foo { font-size: 30px; }
.bar { color: blue; }

 

<p class="foo bar"> ... </p>

 

μœ„ HTML문의 <p> μ•ˆμ—λŠ” "foo"와 "bar"λΌλŠ” 두 개의 classκ°€ 선언돼 μžˆλ‹€. CSSλ¬Έμ—λŠ” 또 foo classκ°€ 30px의 폰트 크기λ₯Ό κ°–κ²Œ, bar classλŠ” κΈ€μžλ₯Ό νŒŒλž€μƒ‰μœΌλ‘œ μ μš©ν•˜λ„λ‘ 섀정돼 μžˆλ‹€. μœ„ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λ©΄, <p>에 foo, bar λ‘˜ λͺ¨λ‘μ˜ κ·œμΉ™μ΄ 적용되고 μžˆλ‹€λŠ” 것을 μ•Œ 수 μžˆλ‹€.

 

 

 

id μ„ νƒμž

 

#bar { background-color: yellow; }

 

<p id="bar"> ... </p>

 

id μ„ νƒμžλŠ” class μ„ νƒμžμ™€ 거의 μœ μ‚¬ν•˜λ‹€. λ‹€λ§Œ .(λ§ˆμΉ¨ν‘œ) λŒ€μ‹  #(ν•΄μ‹œ) 기호λ₯Ό μ“΄λ‹€λŠ” 점과, μš”μ†Œμ— class 속성 λŒ€μ‹  id 속성을 μ‚¬μš©ν•œλ‹€λŠ” 점이 λ‹€λ₯΄λ‹€. 또, μ—¬λŸ¬ μš”μ†Œμ— 쀑볡 선언될 수 μžˆλŠ” class와 λ‹€λ₯΄κ²Œ idλŠ” λ¬Έμ„œ λ‚΄μ—μ„œ 단 ν•œ 번만 쓰일 수 μžˆλ‹€. 
 

 

μ„ νƒμžμ˜ μ‘°ν•©

 

/* μš”μ†Œμ™€ class의 μ‘°ν•© */
p.bar { ... }

/* 닀쀑 class */
.foo.bar { ... }

/* id와 class의 μ‘°ν•© */
#foo.bar { ... }

 

μœ„ μ˜ˆμ œμ™€ 같이, μ—¬λŸ¬ μ„ νƒμžλ₯Ό μ‘°ν•©ν•΄ μ‚¬μš©ν•  μˆ˜λ„ μžˆλ‹€.

 

 


속성 μ„ νƒμž

 

p[class] { color: silver; }
p[class][id] { text-decoration: underline; }

 

<p class="foo">Hello</p>
<p class="bar">CSS</p>
<p class="baz" id="title">HTML</p>

 

속성 μ„ νƒμžλŠ” 타 μ„ νƒμžμ™€ 달리 λŒ€κ΄„ν˜Έλ₯Ό μ΄μš©ν•΄ λ¬Άκ³  λŒ€κ΄„ν˜Έ μ•ˆμ— 속성 이름이 λ“€μ–΄κ°€λŠ” μ„ νƒμžλ‹€. μš”μ†Œμ— ν•΄λ‹Ή μ΄λ¦„μ˜ 속성이 μžˆλ‹€λ©΄ μ μš©λœλ‹€.

 

 

 

μ •ν™•ν•œ μ†μ„±κ°’μœΌλ‘œ 선택

 

<p class="foo">Hello</p>
<p class="bar">CSS</p>
<p class="baz" id="title">HTML</p>

 

class, idκ°’ 쑴재 자체둜 λ‘λ£¨λ­‰μˆ  묢을 μˆ˜λ„ μžˆμ§€λ§Œ 이처럼 λͺ…ν™•ν•œ 속성을 μ§€μ •ν•΄ 쀄 μˆ˜λ„ μžˆλ‹€. 이처럼 속성 μ„ νƒμžμ— μ†μ„±κ°’κΉŒμ§€ μ§€μ •ν•΄ μ£Όλ©΄ λ™μΌν•œ 속성에 λ™μΌν•œ 속성값을 κ°€μ§„ λΆ€λΆ„μ—λ§Œ μŠ€νƒ€μΌμ΄ μ μš©λœλ‹€.

 

λΆ€λΆ„ μ†μ„±κ°’μœΌλ‘œ 선택

 

<p class="color hot">red</p>
<p class="cool color">blue</p>
<p class="colorful nature">rainbow</p>

 

p[class~="color"] { font-style: italic; }
p[class^="color"] { font-style: italic; }
p[class$="color"] { font-style: italic; }
p[class*="color"] { font-style: italic; }

 

[class~="bar"] : class μ†μ„±μ˜ 값이 곡백으둜 κ΅¬λΆ„ν•œ "bar" 단어가 ν¬ν•¨λ˜λŠ” μš”μ†Œ 선택.
[class^="bar"] : class μ†μ„±μ˜ 값이 "bar"둜 μ‹œμž‘ν•˜λŠ” μš”μ†Œ 선택.
[class$="bar"] : class μ†μ„±μ˜ 값이 "bar"둜 λλ‚˜λŠ” μš”μ†Œ 선택.
[class*="bar"] : class μ†μ„±μ˜ 값이 "bar" λ¬Έμžκ°€ ν¬ν•¨λ˜λŠ” μš”μ†Œ 선택.

 

p[class~="color"] { font-style: italic; } /* 1, 2번째 μš”μ†Œ */
p[class^="color"] { font-style: italic; } /* 1, 3번째 μš”μ†Œ */
p[class$="color"] { font-style: italic; } /* 2번째 μš”μ†Œ */
p[class*="color"] { font-style: italic; } /* 1, 2, 3번째 μš”μ†Œ */

 

 

 

λ¬Έμ„œ ꡬ쑰의 이해

 

<html>
<body>
    <div>
        <h1><span>HTML</span>: Hyper Text Markup Language</h1>
    </div>
    <p>HTMLκ³Ό CSS와 JAVASCRIPTλ₯Ό μ΄μš©ν•΄μ„œ λ©‹μ§„ μ›Ή μ‚¬μ΄νŠΈλ₯Ό μ œμž‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€.</p>
</body>
</html>

 

μ„ νƒμžμ™€ λ¬Έμ„œμ˜ 관계λ₯Ό μ΄ν•΄ν•˜κΈ° μœ„ν•΄ λ¨Όμ € μ–΄λ–»κ²Œ λ¬Έμ„œκ°€ κ΅¬μ‘°ν™”λ˜λŠ”μ§€ μ‚΄νŽ΄λ³΄μž. μ΄λ“€μ˜ κ΄€κ³„λŠ” λΆ€λͺ¨μ™€ μžμ‹, 쑰상과 μžμ†, 그리고 ν˜•μ œ κ΄€κ³„λ‘œ λΆ„λ₯˜λ  수 μžˆλ‹€.

 

 

 

λΆ€λͺ¨μ™€ μžμ‹ 관계

 

λΆ€λͺ¨ μš”μ†ŒλŠ” κ·Έ μš”μ†Œλ₯Ό ν¬ν•¨ν•˜λŠ” κ°€μž₯ κ°€κΉŒμš΄ μƒμœ„ μš”μ†Œλ‘œ, ν•œ μš”μ†Œμ˜ λΆ€λͺ¨ μš”μ†ŒλŠ” ν•˜λ‚˜λΏμ΄λ‹€. μžμ‹ μš”μ†ŒλŠ” λΆ€λͺ¨ μš”μ†Œμ˜ λ°˜λŒ€λΌκ³  μƒκ°ν•˜λ©΄ λœλ‹€. λ‹€λ§Œ ν•œ μš”μ†Œμ˜ λΆ€λͺ¨ μš”μ†ŒλŠ” ν•œ 개만 μ‘΄μž¬ν•  수 μžˆλŠ” 반면 ν•œ λΆ€λͺ¨ μ•„λž˜μ˜ μžμ‹ μš”μ†ŒλŠ” μ—¬λŸ¬ 개 μ‘΄μž¬ν•  수 μžˆλ‹€.

<body>의 λΆ€λͺ¨ μš”μ†Œ : <html> ↔ <html>의 μžμ‹ μš”μ†Œ : <body>
<div>의 λΆ€λͺ¨ μš”μ†Œ : <body> ↔ <body>의 μžμ‹ μš”μ†Œ : <div>, <p>
<h1>의 λΆ€λͺ¨ μš”μ†Œ : <div> ↔ <div>의 μžμ‹ μš”μ†Œ : <h1>
<span>의 λΆ€λͺ¨ μš”μ†Œ : <h1> ↔ <h1>의 μžμ‹ μš”μ†Œ : <span> 
<p>의 λΆ€λͺ¨ μš”μ†Œ : <body> ↔ <body>의 μžμ‹ μš”μ†Œ : <div>, <p>
 

 

 

쑰상과 μžμ† 관계

 

쑰상과 μžμ†μ˜ 관계 μ—¬λŸ¬ λΆ€λͺ¨ μžμ‹ 관계λ₯Ό 포함해 ν™•μž₯ν•œ 관계라고 보면 λœλ‹€. 쑰상 μš”μ†ŒλŠ” ν•œ μš”μ†Œλ₯Ό ν¬ν•¨ν•˜λŠ” (λΆ€λͺ¨ μš”μ†Œλ₯Ό ν¬ν•¨ν•œ) λͺ¨λ“  μš”μ†Œκ³ , μžμ† μš”μ†ŒλŠ” λ°˜λŒ€λ‘œ κ·Έ μš”μ†Œκ°€ ν¬ν•¨ν•˜κ³  μžˆλŠ” λͺ¨λ“  μš”μ†Œλ‹€.

<body>의 쑰상 μš”μ†Œ : <html> ↔ <html>의 μžμ† μš”μ†Œ : <body>, <div>, <h1>, <span>, <p>
<div>의 쑰상 μš”μ†Œ : <html>, <body> ↔ <body>의 μžμ† μš”μ†Œ : <div>, <h1>, <span>, <p>
<h1>의 쑰상 μš”μ†Œ : <html>, <body>, <div> ↔ <div>의 μžμ† μš”μ†Œ : <h1>, <span>
<span>의 쑰상 μš”μ†Œ : <html>, <body>, <div>, <h1> ↔ <h1>의 μžμ† μš”μ†Œ : <span>
<p>의 쑰상 μš”μ†Œ : <html>, <body> ↔ <body>의 μžμ† μš”μ†Œ : <div>, <h1>, <span>, <p>

 

 


ν˜•μ œ 관계

 

μ„œλ‘œ 같은 λΆ€λͺ¨λ₯Ό κ°€μ§€κ³  μžˆλŠ” μš”μ†Œ μ‚¬μ΄μ˜ 관계λ₯Ό ν˜•μ œ 관계라고 ν•œλ‹€. μœ„ μ½”λ“œ 쀑 <div>, <p>κ°€ ν˜•μ œ 관계닀. ν˜•μ œ 관계 쀑 λ°”λ‘œ 뒀에 μžˆλŠ” μš”μ†Œλ₯Ό μ§€μΉ­ν•  κ²½μš°λŠ” μΈμ ‘ν•œ 관계λ₯Ό κ°€μ§„λ‹€, ν˜Ήμ€ μΈμ ‘ν•œλ‹€κ³  λΆ€λ₯Έλ‹€. μœ„ μ½”λ“œμ—μ„œλŠ” <p>κ°€ <div>에 μΈμ ‘ν•œ ν˜•μ œ μš”μ†Œκ°€ λœλ‹€.  

 

 

λ¬Έμ„œ ꡬ쑰 κ΄€λ ¨ μ„ νƒμž

 

λ¬Έμ„œ ꡬ쑰λ₯Ό μ΄μš©ν•œ μ„ νƒμžλ‘œ μžμ† μ„ νƒμž, μžμ‹ μ„ νƒμž, 인접 μ„ νƒμžκ°€ μžˆλ‹€.


 

μžμ† μ„ νƒμž

 

div span { color: red; }


μžμ† μ„ νƒμžλŠ” μ„ νƒμž 사이에 아무 기호 없이 곡백으둜 κ΅¬λΆ„ν•œλ‹€. 이 μ„ νƒμžλŠ” <div>의 μžμ† μš”μ†ŒμΈ <span>을 μ„ νƒν•˜λŠ” μ„ νƒμžλ‹€.
 

 


μžμ‹ μ„ νƒμž

 

div > h1 { color: red; }


μžμ‹ μ„ νƒμžλŠ” μ„ νƒμž 사이에 λ‹«λŠ” κΊ½μ‡  기호(>)λ₯Ό λ„£λŠ”λ‹€. 이 μ„ νƒμžλŠ” <div>의 μžμ‹ μš”μ†ŒμΈ <h1>을 μ„ νƒν•˜λŠ” μ„ νƒμžλ‹€. 

 



인접 ν˜•μ œ μ„ νƒμž

 

div + p { color: red; }


인접 ν˜•μ œ μ„ νƒμžλŠ” μ„ νƒμž 사이에 +λ₯Ό λ„£μ–΄ ν‘œν˜„ν•œλ‹€. 

 

 

 

 



 

더보기
TOOLS/Frontend