CSS μ νμ
- CSS λ¬Έλ²μ ν¬κ² μ νμμ μ μΈλΆλ‘ λλ©λλ€.
- μ νμλ CSSλ₯Ό μ μ©ν νκ·Έ(μμ)λ₯Ό μ§μ νλ λ¬Έλ²μ μΈ μμμ΄λ©°, CSSλ μ νμλ₯Ό μ§μ νλ λ€μν λ°©λ²μ΄ μμ΅λλ€.
μ 체 μ νμ
- HTMLμμ μ¬μ©ν μ μλ λͺ¨λ μμλ₯Ό ν λ²μ μ νμλ‘ μ§μ νλ λ°©λ²μΌλ‘ * κΈ°νΈλ₯Ό μ¬μ© ν©λλ€.
* {
margin: 0; /* margin μ΄κΈ°ν */
padding: 0; /* padding μ΄κΈ°ν */
box-sizing: border-box; /* μ€μ! */
}
νκ·Έ μ νμ
- HTML νκ·Έλͺ μΌλ‘ μ νμ μ§μ
- νκ·Έ μ νμλ μ νμμ μ§μ λ νκ·Έλͺ κ³Ό μΌμΉνλ λͺ¨λ μμλ₯Ό νλ²μ μ ν ν©λλ€.
div {
width : 200px;
height: 200px;
background-color: royalblue;
color: white;
}
νΉμ λΆλΆμ μ€νμΌ μ μ©νλ ν΄λμ€ μ νμ
- κ°μ νκ·ΈλΌλ μΌλΆλ λ€λ₯Έ μ€νμΌμ μ¬μ©νκ³ μΆμ λ ν΄λμ€ μ νμλ₯Ό μ¬μ© ν©λλ€.
π .ν΄λμ€λͺ
.accent {
border: 1px solid black;
padding: 5px;
}
...
<h1 class="accent"> ... </h1>
...
μμ΄λ μ νμ
- HTML νκ·Έμμ μ¬μ©ν μ μλ id μμ±κ°μ μ΄μ©ν΄ μ νμλ₯Ό μ§μ νλ λ°©λ²
- ν΄λμ€ μ νμκ° λ¬Έμμμ μ¬λ¬λ² μ μ©ν μ μλ λ°λ©΄, idμ νμλ λ¬Έμμμ ν λ²λ§ μ μ©ν μ μμ΅λλ€.
- μ¦, HTMLμμ id μμ±κ°μ νλμ HTML λ¬Έμ μμμ κ³ μ ν κ°μ΄μ΄μΌ ν©λλ€.
π #μμ΄λλͺ
#accent {
border: 1px solid black;
padding: 5px;
}
...
<h1 id="accent"> ... </h1>
...
κΈ°λ³Έ μμ± μ νμ
- μμ±κ³Ό κ°μ μ¬μ©ν΄ μ νμλ₯Ό μ§μ νλ λ°©λ²
a[href] {
color: red;
}
a[target="_blank"] {
color: green;
font-weight: bold;
}
#google[href] {
color: blue;
font-style: oblique; /* κΈ°μΈμ체 */
}
μμ)
a[href]{} : a νκ·Έμ href μμ±μ΄ μλ μμ μ ν
#title[href]{} : id μμ±κ°μ΄ titleμ΄λ©΄μ href μμ±μ΄ μλ μμ μ ν
.title[href]{} : class μμ±κ°μ΄ titleμ΄λ©΄μ href μμ±μ΄ μλ μμ μ ν
νΉμ μ λ―Έμ¬
μ‘°ν© μ νμ
- μ‘°ν© μ νμλ κΈ°λ³Έ μ νμμ ν¨κ» μ¬μ©νμ λ μ νμμ μλ―Έλ₯Ό λμ± νλΆνκ² ν΄μ£Όλ μ νμ λ°©λ²
κ·Έλ£Ή μ νμ
- μ¬λ¬ μ νμλ₯Ό νλλ‘ κ·Έλ£Ή μ§μ λ μ¬μ© ν©λλ€.
- μ νμμ μ νμλ , κΈ°νΈλ‘ κ΅¬λΆ ν©λλ€.
π μ νμ1, μ νμ2, ... μ νμn {}
p, #title, .red {
color : #f3a;
}
μμ μ νμ
- λΆλͺ¨ μμμ νμμ μλ μμ μμμ μ€νμΌμ μ μ©ν λ μ¬μ©
- 2κ° μ΄μμ μ νμκ° μ¬μ©λλ©°, μ νμμ μ νμλ > κΈ°νΈλ‘ κ΅¬λΆ ν©λλ€.
π λΆλͺ¨ μ νμ > μμ μ νμ {}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<style>
.box > p {
color: red;
}
</style>
<body>
<div class="box">
<p>1λ² νλͺ© μ
λλ€.</p>
<div>
<p>2λ² νλͺ© μ
λλ€.</p>
</div>
<p>3λ² νλͺ© μ
λλ€.</p>
</div>
</body>
</html>
μμ νλͺ©λ§ μ μ©λκΈ° λλ¬Έμ μ€κ°μ divλ‘ κ°μΌ p νκ·Έλ styleμμ μ μΈ λλ€.
μΈμ νμ μ νμ
- + κΈ°νΈλ₯Ό μ¬μ©νμ¬ μΈμ ν νμ μμλ₯Ό μ ννλ λ°©λ²
- μ§μ λ μμμ λ°λ‘ λ€μ νμ μμλ§ μ νν μ μμ΅λλ€.
- μλ₯Ό λ€μ΄,
p + span
μ<p>
μμ λ°λ‘ λ€μμ μ€λ<span>
μμλ₯Ό μ νν©λλ€.
μ¦, μ§μ λ μμμ λ°λ‘ λ€μ νμ μμ'λ§' μ ν!!!
π μ΄μ μ νμ + λμ μ νμ {}
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>μν μκ° νμ΄μ§</title>
<style>
h1 + h2 {
color:red;
}
</style>
</head>
<body>
<h1>Test1</h1>
<h2>Test2</h2>
<h3>Test3</h3>
</body>
</html>
μΌλ° νμ μ νμ
- μ΄μ μ νμ λ€μ μ€λ νμ κ΄κ³ μμλ₯Ό λͺ¨λ μ νμλ‘ μ§μ
- 2κ° μ΄μμ μ νμλ₯Ό μ¬μ©νλ©°, μ νμμ μ νμλ ~ κΈ°νΈλ‘ κ΅¬λΆ ν©λλ€.
- νΉμ μμ μ΄νμ μ€λ λͺ¨λ νμ μμμ μ€νμΌμ μ½κ² μ μ©ν μ μμ΅λλ€. μ΄λ₯Ό νμ©νλ©΄ νΉμ μμλ₯Ό κΈ°μ€μΌλ‘ μ€νμΌμ μ μ©νλ κ²μ΄ κ°λ₯ν΄μ§λλ€.
π μ΄μ μ νμ ~ λμ μ νμ {}
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>μν μκ° νμ΄μ§</title>
<style>
h1 ~ h2 {
color:red;
}
</style>
</head>
<body>
<h1>Test1</h1>
<h2>Test2</h2>
<h2>Test2-1</h2>
<h3>Test3</h3>
</body>
</html>
κ°μ μμ μ νμ
- μμμ μνλ₯Ό μ΄μ©ν΄ μ νμλ₯Ό μ§μ νλ λ°©λ²
π κΈ°μ€μμ:κ°μ ν΄λμ€ μ νμ {}
λ§ν¬ κ°μ ν΄λμ€ μ νμ
- a νκ·Έμμ λ°μν μ μλ λ§ν¬ μνλ₯Ό μ΄μ©ν΄ μ ννλ λ°©λ²
π :link
: νλ²λ λ°©λ¬Ένμ§ μμ λ§ν¬μΌ λ μ ν
π :visited
: νλ²μ΄λΌλ λ°©λ¬Έν μ μ΄ μλ λ§ν¬
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>λ§ν¬ κ°μ ν΄λμ€</title>
<style>
a:link {
color:orange;
}
a:visited {
color:green;
}
</style>
</head>
<body>
<a href="https://www.naver.com">λ€μ΄λ²</a>
<a href="https://www.google.com">ꡬκΈ</a>
</body>
</html>
λμ κ°μ ν΄λμ€ μ νμ
- μ¬μ©μμ μ΄λ€ νλμ λ°λΌ λμ μΌλ‘ λ³νλ μνλ₯Ό μ΄μ©ν΄ μ νμλ₯Ό μ§μ νλ λ°©λ²
π :hover
: μμμ λ§μ°μ€λ₯Ό μ¬λ¦¬λ©΄ μ€νμΌ μ μ©
π :active
: μμλ₯Ό λ§μ°μ€λ‘ ν΄λ¦νκ³ μλ λμ μ€νμΌ μ μ©
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>:active</title>
<style>
button:active{
color:red;
}
button:hover{
color:green;
}
</style>
</head>
<body>
<button>active</button>
</body>
</html>
μ λ ₯ μμ κ°μ ν΄λμ€ μ νμ
- μ λ ₯ μμμ νΉμ μνλ₯Ό μ΄μ©ν΄ μ νμλ‘ μ§μ νλ λ°©λ²
π input:focus
: μ
λ ₯ μμμ 컀μκ° νμ±νλλ©΄ μ νμλ‘ μ§μ
π input:checked
: μ²΄ν¬ λ°μ€κ° νμλμ΄ μμΌλ©΄ μΈμ ν νμ μμμΈ label νκ·Έμ ν
μ€νΈμ μ€νμΌ μ μ©
π input:disabled
: μνΈμμ© μμκ° λΉνμ±νλμ΄ μμΌλ©΄ μ€νμΌ μ μ©
π input:enabled
: μμκ° νμ±νλμ΄ μμΌλ©΄ μ€νμΌ μ μ©
input:focus {
color: red;
}
input:checked + label {
color: red;
}
input:disabled {
background-color: #ccc;
}
input:enabled {
background-color: gray;
}
ꡬ쑰μ κ°μ ν΄λμ€ μ νμ
- μμμ ꡬ쑰μ μμΉμ λ°λΌ μ€νμΌμ μ μ©νλ λ°©λ²
- μμμ λΆλͺ¨, μμ, νμ , μΈμ μμ λ±μ κΈ°μ€μΌλ‘ μ€νμΌ μ μ©
:first-child
: λΆλͺ¨ μμμ 첫 λ²μ§Έ μμ μμμ μ€νμΌμ μ μ©
:last-child
: λΆλͺ¨ μμμ λ§μ§λ§ μμ μμμ μ€νμΌμ μ μ©
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<style>
li:first-child{
color:red;
}
li:last-child{
color:violet;
}
</style>
</head>
<body>
<ul>
<li>test 1</li>
<li>test 2</li>
<li>test 3</li>
<li>test 4</li>
</ul>
</body>
</html>
:nth-child(n)
: λΆλͺ¨ μμμ nλ²μ§Έ μμ μμμ μ€νμΌμ μ μ©
:nth-last-child(n)
: λΆλͺ¨ μμμ λ€μμλΆν° nλ²μ§Έ μμ μμμ μ€νμΌμ μ μ©
:only-child
: λΆλͺ¨ μμμ μ μΌν μμ μμμ μ€νμΌμ μ μ©
:first-of-type
: λμΌν νκ·Έλͺ
μ κ°μ§ νμ μμ μ€μμ 첫 λ²μ§Έ μμμ μ€νμΌμ μ μ©
:last-of-type
: λμΌν νκ·Έλͺ
μ κ°μ§ νμ μμ μ€μμ λ§μ§λ§ μμμ μ€νμΌμ μ μ©
<!DOCTYPE html>
<html lang="ko">
<head>
<style>
p:first-of-type{
color:red;
}
</style>
</head>
<body>
<p>lorem 0</p>
<div>
<p>lorem 1</p>
<p>lorem 2</p>
</div>
<div>
<p>lorem 3</p>
<p>lorem 4</p>
</div>
</body>
</html>
:nth-of-type(n)
: λμΌν νκ·Έλͺ
μ κ°μ§ νμ μμ μ€μμ nλ²μ§Έ μμμ μ€νμΌμ μ μ©
:nth-last-of-type(n)
:λμΌν νκ·Έλͺ
μ κ°μ§ νμ μμ μ€μμ λ€μμλΆν° nλ²μ§Έ μμμ μ€νμΌμ μ μ©
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>nth-of-type(n)</title>
<style>
p:nth-of-type(2){
color:red;
}
</style>
</head>
<body>
<p>lorem 0</p>
<div>
<p>lorem 1</p>
<span>span 1</span>
<p>lorem 2</p>
</div>
<div>
<p>lorem 3</p>
<span>span 2</span>
<span>span 3</span>
<p>lorem 4</p>
</div>
</body>
</html>
:only-of-type
: λμΌν νκ·Έλͺ
μ κ°μ§ νμ μμκ° μ μΌν κ²½μ°μ μ€νμΌμ μ μ©
:root
: λ¬Έμμ λ£¨νΈ μμμ μ€νμΌμ μ μ©
λ€μν μ νμ μ‘°ν©
μμ£Ό μ¬μ©νλ μ νμ μ‘°ν©
div.box{}
=> class μμ±κ°μ΄ boxμΈ div νκ·Έ
section#main{}
=> id μμ±κ°μ΄ mainμΈ section νκ·Έ
κ°μ ν΄λμ€μ νμ μ νμ, μμ μ νμ μ‘°ν©
(1) div:hover button{}
μ div
μμ λ΄λΆμ μλ λͺ¨λ button
μμμ λν΄ λ§μ°μ€κ° div
μμ μμ μμ λ μ€νμΌμ μ μ©νλ μ νμ μ
λλ€. μ΄ μ νμλ div
μμ λ΄λΆμ μλ λͺ¨λ button
μμμ λν΄ μ€νμΌμ μ μ©νλ©°, div
μμμ button
μμ μ¬μ΄μ λ€λ₯Έ μμκ° μμ΄λ μ€νμΌμ΄ μ μ©λ©λλ€.
(2) div:hover > button{}
μ div
μμμ μ§κ³ μμμΈ button
μμμ λν΄ λ§μ°μ€κ° div
μμ μμ μμ λ μ€νμΌμ μ μ©νλ μ νμ μ
λλ€. μ΄ μ νμλ div
μμμ μ§κ³ μμμΈ button
μμμ λν΄μλ§ μ€νμΌμ μ μ©νλ©°, λ€λ₯Έ μμκ° μμ κ²½μ°μλ μ€νμΌμ΄ μ μ©λμ§ μμ΅λλ€.
Dinner κ²μ
CSS Diner
A fun game to help you learn and practice CSS selectors.
flukeout.github.io
'π¨ Frontend > HTML & CSS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
CSS β β’ νμ μμ± - (2) νλ©΄ λ°°μΉ (1) | 2023.03.15 |
---|---|
CSS β β’ νμ μμ± - (1) ν μ€νΈ, λ°μ€ λͺ¨λΈ μμ± (0) | 2023.03.14 |
CSS - β κΈ°λ³Έ (0) | 2023.03.13 |
HTML - β’ μΉ λ¬Έμ ꡬ쑰λ₯Ό λ§λλ μλ§¨ν± νκ·Έ (0) | 2023.03.13 |
HTML - μ°μ΅ λ¬Έμ (μ§μμ, μ£Όλ¬ΈνκΈ° νΌ λ§λ€κΈ°) (0) | 2023.03.09 |