CSS λ°μ€ λͺ¨λΈμ κ°μ₯ κΈ°λ³Έμ μ΄λ©΄μλ μ€μν κ°λ μ€ νλμ λλ€. HTML μμλ λͺ¨λ νλμ λ°μ€λ‘ ννλλ©°, μ΄ λ°μ€λ μ½ν μΈ (content), ν¨λ©(padding), ν λ리(border), λ§μ§(margin)μΌλ‘ ꡬμ±λ©λλ€. μ΄ λ°μ€ λͺ¨λΈμ μ΄ν΄νλ©΄ μΉ νμ΄μ§μ λ μ΄μμμ λ ν¨κ³Όμ μΌλ‘ μ€κ³νκ³ κ΄λ¦¬ν μ μμ΅λλ€.
β£ λͺ©μ°¨
CSS λ°μ€ λͺ¨λΈμ΄λ?π§
CSS λ°μ€ λͺ¨λΈμ μΉ νμ΄μ§μμ HTML μμκ° μ΄λ»κ² λ°°μΉλκ³ , ν¬κΈ°κ° μ΄λ»κ² κ²°μ λλμ§λ₯Ό μ€λͺ νλ κ°λ μ λλ€. κ° HTML μμλ νλμ λ°μ€λ‘ κ°μ£Όλλ©°, μ΄ λ°μ€λ content(μ½ν μΈ ), padding(ν¨λ©), border(ν λ리), margin(λ§μ§)μ λ€ κ°μ§ κ΅¬μ± μμλ‘ μ΄λ£¨μ΄μ Έ μμ΅λλ€. μ΄λ¬ν κ΅¬μ± μμλ μμμ μκ°μ ννμ μ μ΄νλ©°, μΉ λμμ΄λμ κ°λ°μκ° μμλ₯Ό μ νν λ°°μΉνκ³ μ€νμΌλ§νλ λ° νμμ μΈ μν μ ν©λλ€.
λ°μ€ λͺ¨λΈμ κ΅¬μ± μμπ¦
1. ContentβοΈ
μ½ν μΈ μμ(Content Area)μ HTML μμμ κ°μ₯ μ€μ¬μ΄ λλ λΆλΆμΌλ‘, ν μ€νΈ, μ΄λ―Έμ§, λΉλμ€ λ±μ μ€μ μ½ν μΈ κ° νμλλ μμμ λλ€. μ΄ μμμ μμμ λ³Έμ§μ μΈ λ΄μ©μ ν¬ν¨νλ©°, μΉ νμ΄μ§μ μ£Όμ μ 보λ λ°μ΄ν°λ₯Ό λ΄κ³ μμ΅λλ€.
μ½ν
μΈ μμμ ν¬κΈ°λ widthμ height μμ±μΌλ‘ μ€μ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, λ€μκ³Ό κ°μ΄ HTMLκ³Ό CSSλ₯Ό μ¬μ©νμ¬ μ½ν
μΈ μμμ ν¬κΈ°λ₯Ό μ§μ ν μ μμ΅λλ€.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.content-box {
width: 200px; /* μ½ν
μΈ μμμ λλΉ */
height: 100px; /* μ½ν
μΈ μμμ λμ΄ */
background-color: lightblue; /* λ°°κ²½μ μ€μ */
}
</style>
<title>Content Box</title>
</head>
<body>
<div class="content-box">μ΄κ³³μ΄ μ½ν
μΈ μμμ
λλ€.</div>
</body>
</html>
μ΄ μμ μμ. content-box ν΄λμ€κ° μ μ©λ div μμλ 200ν½μ μ λλΉμ 100ν½μ μ λμ΄λ₯Ό κ°μ§ μ½ν μΈ μμμ μ μν©λλ€. μ΄ μ½ν μΈ μμμ ν΄λΉ μμμ μ€μ λ΄μ©μ λ΄κ³ μμΌλ©°, λ°°κ²½μμΌλ‘ lightblueκ° μ€μ λμμ΅λλ€.
1-1. box-sizing μμ±
box-sizing μμ±μ λ°μ€ λͺ¨λΈμ λμ λ°©μμ λ³κ²½νλ λ° μ¬μ©λ©λλ€. κΈ°λ³Έμ μΌλ‘ HTML μμμ ν¬κΈ°λ μ½ν μΈ μμλ§μ κ³ λ €νμ¬ κ³μ°λ©λλ€. νμ§λ§ box-sizing μμ±μ μ¬μ©νλ©΄ ν λ리(border)μ μμͺ½ μ¬λ°±(padding)μ ν¬ν¨νμ¬ μμμ ν¬κΈ°λ₯Ό κ³μ°ν μ μμ΅λλ€.
.element {
box-sizing: border-box; /* μμμ μ 체 ν¬κΈ°λ₯Ό μ½ν
μΈ , μμͺ½ μ¬λ°±, ν
λ리κΉμ§ ν¬ν¨νμ¬ κ³μ° */
}
μ΄ μ€μ μ μ¬μ©νλ©΄ μμμ ν¬κΈ°λ₯Ό μ ν λ ν
λ리μ μμͺ½ μ¬λ°±μ΄ ν¨κ» κ³ λ €λλ―λ‘, λ μ΄μμμ λ μ½κ² μ€κ³ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μμμ λλΉλ₯Ό μ ν λ ν
λ리μ μμͺ½ μ¬λ°±μ λ°λ‘ λν΄μ€ νμ μμ΄ μμμ μ 체 ν¬κΈ°λ§ κ³ λ €νλ©΄ λ©λλ€.
.element {
width: 200px; /* μμμ μ 체 λλΉλ₯Ό κ³ λ €νμ¬ μ€μ */
padding: 10px; /* μμͺ½ μ¬λ°± μ€μ */
border: 1px solid black; /* ν
λ리 μ€μ */
}
μ΄λ κ² box-sizing μμ±μ νμ©νλ©΄ μμμ ν¬κΈ°λ₯Ό λ μ§κ΄μ μΌλ‘ κ΄λ¦¬ν μ μμΌλ©°, λ€μν νλ©΄ ν¬κΈ°μ λΈλΌμ°μ μμ μΌκ΄λ λ μ΄μμμ μ μ§νλ λ° λμμ΄ λ©λλ€.
1-2. Content μμμ νΉμ±
- ν¬κΈ° μ‘°μ : μ½ν μΈ μμμ ν¬κΈ°λ widthμ height μμ±μ μ¬μ©νμ¬ μ‘°μ ν μ μμ΅λλ€. κΈ°λ³Έμ μΌλ‘ μμμ ν¬κΈ°λ κ·Έ μμ ν¬ν¨λ μ½ν μΈ μ ν¬κΈ°μ λ°λΌ μλμΌλ‘ μ‘°μ λμ§λ§, νΉμ ν¬κΈ°λ₯Ό μ§μ ν μλ μμ΅λλ€.
- λ°°κ²½μ λ° μ΄λ―Έμ§: μ½ν μΈ μμμ λ°°κ²½μ(background-color)μ΄λ λ°°κ²½ μ΄λ―Έμ§(background-image)λ₯Ό μ€μ ν μ μμ΅λλ€. μ΄λ μκ°μ μμλ₯Ό μΆκ°νμ¬ μΉ νμ΄μ§λ₯Ό λ μλ¦λ΅κ³ μ§κ΄μ μΌλ‘ λ§λλλ€.
- ν μ€νΈ μ λ ¬: μ½ν μΈ μμ λ΄μ ν μ€νΈλ text-align μμ±μ μ¬μ©νμ¬ μ’μΈ‘, μ€μ, μ°μΈ‘ μ λ ¬μ΄ κ°λ₯ν©λλ€. λν, line-height μμ±μ μ¬μ©νμ¬ μ€ κ°κ²©μ μ‘°μ ν μ μμ΅λλ€.
- μ€ν¬λ‘€: μ½ν μΈ μμμ΄ μ€μ λ ν¬κΈ°λ₯Ό μ΄κ³Όνλ κ²½μ°, overflow μμ±μ μ¬μ©νμ¬ μ€ν¬λ‘€λ°λ₯Ό μΆκ°ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, overflow: autoλ₯Ό μ€μ νλ©΄ μ½ν μΈ κ° λμΉ λ μλμΌλ‘ μ€ν¬λ‘€λ°κ° λνλ©λλ€.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.content-box {
width: 200px;
height: 100px;
background-color: lightblue;
overflow: auto; /* λμΉλ μ½ν
μΈ μ λν μ€ν¬λ‘€λ° μΆκ° */
}
</style>
<title>Content Box with Scroll</title>
</head>
<body>
<div class="content-box">
μ΄κ³³μ΄ μ½ν
μΈ μμμ
λλ€.<br>
μ΄κ³³μ΄ μ½ν
μΈ μμμ
λλ€.<br>
μ΄κ³³μ΄ μ½ν
μΈ μμμ
λλ€.<br>
μ΄κ³³μ΄ μ½ν
μΈ μμμ
λλ€.<br>
</div>
</body>
</html>
μ΄μ κ°μ΄ μ½ν
μΈ μμμ μΉ νμ΄μ§μ ν΅μ¬ μμλ₯Ό λ΄κ³ μμΌλ©°, CSS μμ±μ ν΅ν΄ λ€μν λ°©λ²μΌλ‘ μ€νμΌλ§ν μ μμ΅λλ€. μ½ν
μΈ μμμ μ νμ©νλ©΄ μΉ νμ΄μ§μ κ°λ
μ±κ³Ό λ―Έκ΄μ ν¬κ² ν₯μν μ μμ΅λλ€.
2. Paddingπ§Έ
ν¨λ©(Padding)μ μ½ν μΈ μμκ³Ό ν λ리(Border) μ¬μ΄μ μ¬λ°±μ λ§ν©λλ€. μμ λ΄λΆμ μ½ν μΈ λ₯Ό κ°μΈλ 곡κ°μΌλ‘, μ½ν μΈ μ ν λ리 κ°μ κ°κ²©μ μ‘°μ ν©λλ€. ν¨λ©μ μ¬μ©νλ©΄ μμμ λ΄λΆ μ¬λ°±μ μ‘°μ νμ¬ μ½ν μΈ μ ν λ리 μ¬μ΄μ 곡κ°μ λ리거λ μ€μΌ μ μμ΅λλ€.
2-1. Paddingμ νΉμ§
- λ¨μ: ν¨λ©μ λ³΄ν΅ ν½μ (px)μ΄λ λ°±λΆμ¨(%)λ‘ μ§μ λ©λλ€. μλμ μΈ λ¨μμΈ emμ΄λ remλ μ¬μ©ν μ μμ΅λλ€.
- λ°°κ²½ μ μ©: ν¨λ©μ μμμ λ°°κ²½μλ μν₯μ μ€λλ€. ν¨λ©μ΄ μ€μ λμ΄ μμΌλ©΄ λ°°κ²½ μμμ΄λ λ°°κ²½ μ΄λ―Έμ§λ ν¨λ©κΉμ§ μ μ©λ©λλ€.
- μμ: ν¨λ©μ μμλμ§ μμ΅λλ€. μ¦, λΆλͺ¨ μμμ ν¨λ© κ°μ μμ μμμκ² μ§μ μμλμ§ μμ΅λλ€.
- λ¨μΆ μμ±: padding μμ±μ μ¬μ©νλ©΄ ν μ€λ‘ λͺ¨λ λ°©ν₯μ ν¨λ© κ°μ μ€μ ν μ μμ΅λλ€. λ¨μΆ μμ±μ μ¬μ©νλ©΄ μ½λμ κ°λ μ±μ λμΌ μ μμ΅λλ€.
πμ¬κΈ°μ μ κΉ!
λ¨μΆ μμ±μ΄λ?
λ¨μΆ μμ±(Shorthand Property)μ CSSμμ μ¬λ¬ μμ±μ ν μ€μ ν λ²μ μ§μ νλ λ°©λ²μ
λλ€. μ΄λ₯Ό ν΅ν΄ μ½λλ₯Ό λ κ°κ²°νκ³ κ°λ
μ± μκ² μμ±ν μ μμ΅λλ€. λ¨μΆ μμ±μ νλμ μμ± κ°μΌλ‘ μ¬λ¬ μμ±μ λμμ μ€μ νλ κ²μΌλ‘, μ£Όλ‘ ν¨λ©, μ¬λ°±, ν
λ리, λ°°κ²½ λ±μ μ€μ ν λ μ¬μ©λ©λλ€.
2-2. Padding μ€μ λ°©λ²
κ°λ³ κ°μΌλ‘ μ€μ νκΈ°: μμͺ½, μ€λ₯Έμͺ½, μλμͺ½, μΌμͺ½μ ν¨λ©μ μ€μ ν μ μμ΅λλ€.
.element {
padding-top: 10px;
padding-right: 20px;
padding-bottom: 30px;
padding-left: 40px;
}
λ¨μΆ μμ±μΌλ‘ μ€μ νκΈ°
1. ν κ°μ κ°μΌλ‘ μ€μ νκΈ°: λͺ¨λ λ°©ν₯μ λμΌν ν¨λ© κ°μ μ μ©ν©λλ€.
.element {
padding: 10px; /* λͺ¨λ λ°©ν₯μ 10pxμ ν¨λ© μ μ© */
}
2. λ κ°μ κ°μΌλ‘ μ€μ νκΈ°: 첫 λ²μ§Έ κ°μ μμͺ½κ³Ό μλμͺ½ ν¨λ©μ, λ λ²μ§Έ κ°μ μΌμͺ½κ³Ό μ€λ₯Έμͺ½ ν¨λ©μ λνλ
λλ€.
.element {
padding: 10px 20px; /* μμλ 10px, μ’μ° 20pxμ ν¨λ© μ μ© */
}
3. μΈ κ°μ κ°μΌλ‘ μ€μ νκΈ°: 첫 λ²μ§Έ κ°μ μμͺ½ ν¨λ©μ, λ λ²μ§Έ κ°μ μΌμͺ½κ³Ό μ€λ₯Έμͺ½ ν¨λ©μ, μΈ λ²μ§Έ κ°μ μλμͺ½ ν¨λ©μ λνλ
λλ€.
.element {
padding: 10px 20px 30px; /* μ 10px, μ’μ° 20px, μλ 30pxμ ν¨λ© μ μ© */
}
4. λ€ κ°μ κ°μΌλ‘ μ€μ νκΈ°: κ° κ°μ μμͺ½, μ€λ₯Έμͺ½, μλμͺ½, μΌμͺ½ μμλ‘ ν¨λ© κ°μ λνλ
λλ€.
.element {
padding: 10px 20px 30px 40px; /* μ 10px, μ€λ₯Έμͺ½ 20px, μλ 30px, μΌμͺ½ 40pxμ ν¨λ© μ μ© */
}
3. BorderποΈ
ν λ리(Border)λ HTML μμμ μΈκ³½μ κ°μΈλ μ μ λλ€. μ΄ μ μ μμμ μΈλΆ κ²½κ³λ₯Ό νμνκ³ μμλ₯Ό μκ°μ μΌλ‘ ꡬλ³νλ λ° μ¬μ©λ©λλ€. ν λ리λ μ£Όλ‘ μμμ μΈκ΄μ κΎΈλ―Έλ λ° νμ©λλ©°, μ¬λ¬ μ€νμΌ, λκ», μμ λ±μ μ€μ νμ¬ λ€μν ν¨κ³Όλ₯Ό μ€ μ μμ΅λλ€.
3-1. Border μμ±
ν
λ리λ CSSμ border μμ±μ μ¬μ©νμ¬ μ€μ ν μ μμ΅λλ€. μ΄ μμ±μ μΈ κ°μ§ μΈλΆ μμ±μ ν¬ν¨ν©λλ€.
ν
λ리μ μ€νμΌ, λκ», μμμ
λλ€.
.element {
border: 2px solid black; /* ν
λ리μ μ€νμΌ, λκ», μμ μ€μ */
}
μμ μ½λμμ 2pxλ ν
λ리μ λκ»λ₯Ό λνλ΄κ³ , solidλ ν
λ리μ μ€νμΌμ λνλ΄λ©°, blackμ ν
λ리μ μμμ λνλ
λλ€.
Border μ€νμΌ
ν λ리μ μ€νμΌμ λ€μνκ² μ€μ ν μ μμ΅λλ€. μΌλ°μ μΌλ‘ μ¬μ©λλ ν λ리 μ€νμΌμ λ€μκ³Ό κ°μ΅λλ€:
- none: ν λ리 μμ λ μ€νμΌ
- solid: μ€μ μ€νμΌ
- dashed: μ μ μ€νμΌ
- dotted: μ ν λ리 μ€νμΌ
- double: μ΄μ€μ μ€νμΌ
- groove: μ 체 ν¨κ³Όκ° μλ ν λ리 μ€νμΌ
- ridge: μ 체 ν¨κ³Όκ° μλ λ€λ₯Έ λ°©ν₯μ ν λ리 μ€νμΌ
- hidden: ν λ리λ₯Ό μ¨κΈ°λ μ€νμΌ
- inset: μμ λ΄λΆμ κ·Έλ¦Όμ ν¨κ³Όλ₯Ό μ£Όμ΄ λ΄λ €μμ λ―ν ν λ리λ₯Ό λ§λ¦
- outset: μμ μΈλΆμ κ·Έλ¦Όμ ν¨κ³Όλ₯Ό μ£Όμ΄ νμ΄λμ¨ λ―ν ν
λ리λ₯Ό λ§λ¦
.element {
border-style: solid; /* ν
λ리μ μ€νμΌ μ€μ */
}
Border λκ»
ν λ리μ λκ»λ ν½μ (px) λ¨μλ‘ μ§μ λ©λλ€. μλ₯Ό λ€μ΄, border-width: 2px;μ κ°μ΄ μ€μ ν μ μμ΅λλ€.
Border μμ
ν λ리μ μμμ CSSμ μμ νν λ°©μμ λ°λΌ μ§μ λ©λλ€. μλ₯Ό λ€μ΄, border-color: black;μ κ°μ΄ μ€μ ν μ μμ΅λλ€.
.element {
border-width: 2px; /* ν
λ리μ λκ» μ€μ */
border-color: black; /* ν
λ리μ μμ μ€μ */
}
3-2. Border μμ± μ€μ νκΈ°
μμ Border μμ± μΈ κ°μ§ μΈλΆ μμ±μ ν¨κ» μ¬μ©νμ¬ ν λ리λ₯Ό μ€μ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, λ€μκ³Ό κ°μ΄ ν μ€λ‘ κ°κ²°νκ² ν λ리λ₯Ό μ€μ ν μ μμ΅λλ€.
.element {
border: 2px solid black; /* ν
λ리μ μ€νμΌ, λκ», μμ μ€μ */
}
4. Marginπ
Marginμ HTML μμ μ£Όμμ 곡κ°μ λνλ
λλ€. Marginμ μμμ κ·Έ μ£Όλ³ μμ μ¬μ΄μ κ°κ²©μ μ‘°μ νλ λ° μ¬μ©λ©λλ€. μ΄κ²μ μμλ₯Ό λ€λ₯Έ μμλ‘λΆν° λ¨μ΄λ¨λ¦¬κ±°λ μμ μ£Όμμ μ¬λ°±μ μ‘°μ νλ λ° μ μ©ν©λλ€. μμ±μ μ¬μ© λ°©λ²μ΄λ μμ± κ°μ μ μ© μ리λ paddingκ³Ό λμΌν©λλ€.
μλ₯Ό λ€μ΄, λ€μμ CSS μ½λμμ margin μμ±μ μ¬μ©νμ¬ μμμ μ, μ€λ₯Έμͺ½, μλ, μΌμͺ½μ μ¬λ°±μ μ€μ ν μ μμ΅λλ€.
.element {
margin: 10px; /* λͺ¨λ λ°©ν₯μ λν΄ 10pxμ μ¬λ°±μ μ€μ */
}
μμ μ½λμμ 10pxλ λͺ¨λ λ°©ν₯(μ, μ€λ₯Έμͺ½, μλ, μΌμͺ½)μ λν΄ λμΌν μ¬λ°±μ μ€μ ν©λλ€. κ·Έλ¬λ κ° λ°©ν₯μ λν΄ λ³λλ‘ μ¬λ°±μ μ§μ ν μλ μμ΅λλ€.
.element {
margin-top: 10px; /* μμͺ½ μ¬λ°± μ€μ */
margin-right: 20px; /* μ€λ₯Έμͺ½ μ¬λ°± μ€μ */
margin-bottom: 30px; /* μλμͺ½ μ¬λ°± μ€μ */
margin-left: 40px; /* μΌμͺ½ μ¬λ°± μ€μ */
}
4-1. Margin κ²ΉμΉ¨ νμ
Margin Collapse(λ§μ§ κ²ΉμΉ¨ νμ)μ λ κ° μ΄μμ μΈμ ν λΈλ‘ μμμ μλ¨ λλ νλ¨ λ§μ§μ΄ μλ‘ κ²Ήμ³μ§λ νμμ λ§ν©λλ€. μ΄κ²μ CSS λ°μ€ λͺ¨λΈμ λμ λ°©μ μ€ νλλ‘, μ¬λ¬ μμμ λ§μ§μ΄ κ²°ν©λμ΄ νλμ λ§μ§μΌλ‘ μ²λ¦¬λ©λλ€.
λ§μ§ κ²ΉμΉ¨ νμμ λ€μκ³Ό κ°μ μν©μμ λ°μν μ μμ΅λλ€.
- μΈμ ν νμ μμμ λ§μ§ κ²ΉμΉ¨: λ κ°μ μΈμ ν νμ μμμ μλ¨ λλ νλ¨ λ§μ§μ΄ μλ‘ κ²Ήμ³μ§λ κ²½μ°κ° μμ΅λλ€. μ΄λ κ²ΉμΉ λ§μ§ μ€ λ ν° λ§μ§μ΄ μ μ©λ©λλ€.
- λΆλͺ¨μ 첫 λ²μ§Έ λλ λ§μ§λ§ μμ μμμ λ§μ§ κ²ΉμΉ¨: λΆλͺ¨ μμμ μλ¨ λλ νλ¨ λ§μ§κ³Ό 첫 λ²μ§Έ λλ λ§μ§λ§ μμ μμμ λ§μ§μ΄ κ²ΉμΉ λλ λ§μ§ κ²ΉμΉ¨μ΄ λ°μν μ μμ΅λλ€.
λ§μ§ κ²ΉμΉ¨μ μ£Όλ‘ μΈλ‘ λ°©ν₯μΌλ‘ λ°μνλ©°, κ°μ₯ ν° λ§μ§μ΄ μ μ©λ©λλ€. μ΄κ²μ λ μ΄μμμ μμΈ‘νκ³ λμμΈνλ λ° μν₯μ μ€ μ μμΌλ―λ‘ μ£Όμν΄μΌ ν©λλ€.
λ§μ§ κ²ΉμΉ¨μ λ°©μ§νκΈ° μν λͺ κ°μ§ λ°©λ²μ΄ μμ΅λλ€.
- λΆλͺ¨ μμμ overflow: hidden; μΆκ°: λΆλͺ¨ μμμ overflow: hidden; μμ±μ μΆκ°νμ¬ λ§μ§ κ²ΉμΉ¨μ λ°©μ§ν μ μμ΅λλ€.
- λΆλͺ¨ μμμ padding μΆκ°: λΆλͺ¨ μμμ μλ¨ λλ νλ¨ ν¨λ©μ μΆκ°νμ¬ λ§μ§ κ²ΉμΉ¨μ λ°©μ§ν μ μμ΅λλ€.
- float μμ± μ¬μ©: μμλ₯Ό float μμΌμ λ§μ§ κ²ΉμΉ¨μ λ°©μ§ν μ μμ΅λλ€.
λ§μ§ κ²ΉμΉ¨μ CSS λ μ΄μμμ μ€κ³ν λ κ³ λ €ν΄μΌ ν μ€μν μΈ‘λ©΄ μ€ νλμ λλ€. μ΄λ₯Ό ν΅ν΄ μμΉ μλ λ μ΄μμ λ¬Έμ λ₯Ό λ°©μ§νκ³ λ λμ λμμΈμ ꡬνν μ μμ΅λλ€.
Marginκ³Ό Paddingμ μ°¨μ΄μ
Marginκ³Ό Paddingμ λ°μ€ λͺ¨λΈμμ μμ μ£Όμμ 곡κ°μ μ‘°μ νλ λ° μ¬μ©λμ§λ§, κ·Έλ€μ κΈ°λ₯κ³Ό μ μ© λ°©μμλ λͺ κ°μ§ μ°¨μ΄κ° μμ΅λλ€.
Paddingμ μμμ λ΄λΆ 곡κ°μ μ‘°μ νλ λ° μ¬μ©λ©λλ€. μ¦, λ΄μ©(content)κ³Ό ν
λ리(border) μ¬μ΄μ μ¬λ°±μ μ§μ ν©λλ€. Paddingμ μμ λ΄λΆμ μ¬λ°±μ λ§λ€μ΄μ£Όλ©°, μ΄ μ¬λ°±μ μμμ λ΄μ©κ³Ό ν
λ리 μ¬μ΄μ λ°°μΉλ©λλ€. Paddingμ CSS μμ±μΌλ‘ padding-top, padding-right, padding-bottom, padding-leftμ κ°μ΄ κ° λ°©ν₯λ³λ‘ μ§μ λ©λλ€.
Marginμ μμμ μ£Όλ³ μμ μ¬μ΄μ 곡κ°μ μ‘°μ νλ λ° μ¬μ©λ©λλ€. Marginμ μμμ μΈλΆ 곡κ°μ μ§μ νλ©°, μμ μ£Όμμ μΈλΆ μ¬λ°±μ λ§λ€μ΄μ€λλ€. μ΄λ μΈμ ν μμ μ¬μ΄μ κ°κ²©μ μ‘°μ νλ λ° μ¬μ©λλ©°, μμμ μΈλΆ κ²½κ³λ₯Ό λλ¬μΈκ³ μμ΅λλ€. Marginμ CSS μμ±μΌλ‘ margin-top, margin-right, margin-bottom, margin-leftμ κ°μ΄ κ° λ°©ν₯λ³λ‘ μ§μ λ©λλ€.
λ°λΌμ μμ½νμλ©΄, Paddingμ μμ λ΄λΆμ μ¬λ°±μ μ‘°μ νμ¬ λ΄μ©κ³Ό ν λ리 μ¬μ΄μ 곡κ°μ λ§λ€κ³ , Marginμ μμμ μΈλΆ 곡κ°μ μ‘°μ νμ¬ μμμ μ£Όλ³ μμ μ¬μ΄μ κ°κ²©μ λ§λλλ€.
λ°μ€ λͺ¨λΈμ λμ λ°©μβοΈ
λΈλ‘ μμμ μΈλΌμΈ μμπ§±
- λΈλ‘ μμ: νμ μλ‘μ΄ μ€μμ μμνλ©°, κ°λ‘ λ°©ν₯μΌλ‘ μ΅λ λλΉλ₯Ό μ°¨μ§ν©λλ€. λΈλ‘ μμμλ<div>,<p>,<h1>λ±μ΄ μμ΅λλ€.
- μΈλΌμΈ μμ: λμΌν μ€μ λλν λ°°μΉλ©λλ€. μΈλΌμΈ μμμλ <span>, <a>, <strong> λ±μ΄ ν¬ν¨λ©λλ€.
λΈλ‘ μμμ μΈλΌμΈ μμμ λνμ μΈ μμμΈ divμ span νκ·Έμ κ΄ν λ΄μ©μ μλ ν¬μ€ν μ μ°Έκ³ ν΄ μ£ΌμΈμπ
μΈλΌμΈ λΈλ‘ μμπ
μΈλΌμΈ λΈλ‘ μμλ μΈλΌμΈ μμμ²λΌ ν μ€μ λλν λ°°μΉλμ§λ§, λΈλ‘ μμμ²λΌ width, height, padding, margin λ±μ κ°μ§ μ μμ΅λλ€. μ΄λ λ΄λΉκ²μ΄μ λ©λ΄, λ²νΌ κ·Έλ£Ή λ±μμ μ μ©νκ² μ¬μ©λ©λλ€.
<style>
.inline-block {
display: inline-block;
width: 100px;
height: 100px;
padding: 10px;
border: 1px solid #000;
margin: 5px;
}
</style>
<div class="inline-block">Box 1</div>
<div class="inline-block">Box 2</div>
λΈλ‘, μΈλΌμΈ, μΈλΌμΈ λΈλ‘ μμμ μ°¨μ΄μ β
νΉμ± | λΈλ‘ | μΈλΌμΈ | μΈλΌμΈ λΈλ |
---|---|---|---|
νν | μ½ν μΈ μμμ κ°λ‘/ μΈλ‘λ‘ νμ₯νλ λ°μ€ νν | μ½ν μΈ μμμ κ°λ‘λ‘λ§ νμ₯νλ μμ | μ½ν μΈ μμμ κ°λ‘/μΈλ‘λ‘ νμ₯νλ λ°μ€ ννμ κ°μ§λ§, μΈλΌμΈ μμμ²λΌ μ€λ°κΏ μμ΄ λ°°μΉλ¨ |
λ μ΄μμ λ°°μΉ | ν μ€μ νλμ μμλ§ μμΉ | ν μ€μ μ¬λ¬ μμκ° λλν μμΉ | ν μ€μ μ¬λ¬ μμκ° λλν μμΉνλ, νμμ μ€λ°κΏμ΄ μΌμ΄λ¨ |
λλΉμ λμ΄ | widthμ height μμ±μΌλ‘ μ‘°μ | widthμ height μμ± μ μ© λΆκ° | widthμ height μμ±μΌλ‘ μ‘°μ |
λ§μ§, ν¨λ©μ μν₯ | μνμ’μ°μ λ§μ§κ³Ό ν¨λ©μ΄ μ μ© | μ’μ°μ λ§μ§κ³Ό ν¨λ©λ§ μ μ© | μνμ’μ°μ λ§μ§κ³Ό ν¨λ©μ΄ μ μ© |
μμ | <div>, <p>, <header>, <footer> λ± | <span>, <a>, <em>, <strong> λ± | <img>, <button>, <input type="button"> λ± |
μμ ν¬κΈ° κ³μ°π
λ°μ€ λͺ¨λΈμμ μμμ μ 체 ν¬κΈ°λ λ€μκ³Ό κ°μ΄ κ³μ°λ©λλ€.
μ΄ λλΉ = width+padding-left+padding-right+border-left-width+border-right-width+margin-left+margin-right
μ΄ λμ΄ = height+padding-top+padding-bottom+border-top-width+border-bottom-width+margin-top+margin-bottom
κ·Έλ¬λ content μμμ λλΉμ λμ΄λ₯Ό κ³μ°νλ λΆνΈν¨μ μ€μ΄κΈ° μν΄ μμμ μΈκΈν box-sizing μμ±μ μ¬μ©ν μ μμ΅λλ€.
λμ€νλ μ΄ μμ±π₯οΈ
display μμ±μ HTML μμμ λ°μ€ λͺ¨λΈμ μ΄λ»κ² λ λλ§ ν μ§λ₯Ό κ²°μ νλ CSS μμ±μ λλ€. μ΄ μμ±μ ν΅ν΄ μμκ° λΈλ‘, μΈλΌμΈ, μΈλΌμΈ λΈλ‘ λ±μΌλ‘ λ λλ§ λ μ§ μ μν μ μμ΅λλ€.
μ£Όμ diplay κ°π
- block: λΈλ‘ λ 벨 μμλ‘ λ λλ§, νμ μλ‘μ΄ μ€μμ μμ.
- inline: μΈλΌμΈ μμλ‘ λ λλ§, μ½ν μΈ μ λμΌν μ€μ λ°°μΉ.
- inline-block: μΈλΌμΈ μμμ²λΌ ν μ€μ λ°°μΉλμ§λ§, λΈλ‘ μμμ²λΌ ν¬κΈ°μ ν¨λ©μ κ°μ§.
- none: μμλ₯Ό λ λλ§ νμ§ μμ.
λμ€νλ μ΄ μμ±μ νμ© π οΈ
- λ€μν display μμ±μ νμ©νμ¬ λ μ΄μμμ ꡬμ±ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, λ΄λΉκ²μ΄μ λ°λ₯Ό μΈλΌμΈ λΈλ‘ μμλ‘ κ΅¬μ±νκ±°λ, νΉμ μμλ₯Ό μ¨κΈ°κΈ° μν΄ display: noneμ μ¬μ©ν μ μμ΅λλ€.
<style>
.block {
display: block;
width: 100%;
height: 50px;
background-color: lightblue;
}
.inline {
display: inline;
background-color: lightgreen;
}
.none {
display: none;
}
</style>
<div class="block">Block Element</div>
<span class="inline">Inline Element</span>
<div class="none">This will not be displayed</div>
λλ²κΉ κ³Ό λ¬Έμ ν΄κ²°π οΈ
μΉ κ°λ°μμ CSS λ°μ€ λͺ¨λΈμ μ΄ν΄νλ κ²λ§νΌ μ€μν κ²μ λ¬Έμ λ₯Ό ν΄κ²°νκ³ μ¬λ°λ₯΄κ² λλ²κΉ νλ λ°©λ²μ μλ κ²μ λλ€. λΈλΌμ°μ κ°λ°μ λꡬλ₯Ό νμ©νλ©΄ λ°μ€ λͺ¨λΈκ³Ό κ΄λ ¨λ λ¬Έμ λ₯Ό μ½κ² νμ νκ³ μμ ν μ μμ΅λλ€. μ΄ μΉμ μμλ λΈλΌμ°μ κ°λ°μ λꡬ μ¬μ©λ²κ³Ό μμ£Ό λ°μνλ λ¬Έμ μ ν΄κ²° λ°©λ²μ λ€λ£Ήλλ€.
λΈλΌμ°μ κ°λ°μ λꡬ μ¬μ©λ²π§
λΈλΌμ°μ κ°λ°μ λꡬλ μΉ κ°λ°μλ€μ΄ μΉ νμ΄μ§μ ꡬ쑰, μ€νμΌ, λμμ μ€μκ°μΌλ‘ κ²μ¬νκ³ μμ ν μ μλλ‘ λλ κ°λ ₯ν λꡬμ
λλ€. λλΆλΆμ νλ λΈλΌμ°μ μλ μ΄λ¬ν λκ΅¬κ° λ΄μ₯λμ΄ μμ΅λλ€. μ¬κΈ°μλ κ°μ₯ λ리 μ¬μ©λλ Chrome κ°λ°μ λꡬλ₯Ό μ€μ¬μΌλ‘ μ€λͺ
νκ² μ΅λλ€.
1. κ°λ°μ λꡬ μ΄κΈ°
- λ¨μΆν€ μ¬μ©: Windows/Linuxμμλ Ctrl+Shift+I, λλ F12 Macμμλ Cmd+Opt+Iλ₯Ό λλ₯΄λ©΄ κ°λ°μ λκ΅¬κ° μ΄λ¦½λλ€.
- μΉ νμ΄μ§μμ λ§μ°μ€ μ°μΈ‘ ν΄λ¦ : μΉ νμ΄μ§μμ λ§μ°μ€λ₯Ό μ°μΈ‘μΌλ‘ ν΄λ¦ν©λλ€. ν΄λ¦ ν κ²μ¬λ₯Ό ν΄λ¦νλ©΄ κ°λ°μ λκ΅¬κ° μ΄λ¦½λλ€.
2. μμ κ²μ¬
- Elements ν¨λ: Elements ν¨λμ μ¬μ©νλ©΄ HTML ꡬ쑰μ CSS μ€νμΌμ μ€μκ°μΌλ‘ νμΈνκ³ μμ ν μ μμ΅λλ€. λ°μ€ λͺ¨λΈμ κ° κ΅¬μ± μμ (content, padding, border, margin)κ° μκ°μ μΌλ‘ νμλ©λλ€.
- νΉμ μμλ₯Ό ν΄λ¦νλ©΄ ν΄λΉ μμμ CSS μ€νμΌκ³Ό λ°μ€ λͺ¨λΈμ΄ μμΈν νμλ©λλ€.
- μμ μ ν λꡬ: HTML μμλ₯Ό μ ννκ³ ν΄λΉ μμμ λν μ 보λ₯Ό νμΈνλ κΈ°λ₯μ μ 곡ν©λλ€.
- Styles μΉμ : μμμ μ μ©λ CSS μ€νμΌμ νμΈνκ³ μμ ν μ μμ΅λλ€.
- Computed μΉμ : μμμ μ€μ ν¬κΈ°μ μ€νμΌμ κ³μ°νμ¬ λ³΄μ¬μ€λλ€.
3. μ€μκ° μμ
- Elements ν¨λμμ μ€νμΌμ μμ νλ©΄ νμ΄μ§μ μ¦μ λ°μλ©λλ€. μ΄λ CSS λ¬Έμ λ₯Ό λΉ λ₯΄κ² ν
μ€νΈνκ³ ν΄κ²°νλ λ° μ μ©ν©λλ€.
- μλ₯Ό λ€μ΄, ν¨λ©μ΄λ λ§μ§ κ°μ λ³κ²½νλ©΄ μμμ ν¬κΈ°μ μμΉκ° μ€μκ°μΌλ‘ μ λ°μ΄νΈλ©λλ€.
μμ£Ό λ°μνλ λ¬Έμ μ ν΄κ²° λ°©λ²π§©
1. μμ κ²ΉμΉ¨ λ¬Έμ
- λ¬Έμ : λ μμκ° κ²Ήμ³μ Έ 보μ΄λ κ²½μ°.
- μμΈ: μλͺ»λ λ§μ§, ν¨λ© λλ ν¬μ§μ λ μ€μ .
- ν΄κ²° λ°©λ²: κ°λ°μ λꡬμμ κ° μμμ λ°μ€ λͺ¨λΈμ νμΈνκ³ , κ²ΉμΉ¨μ΄ λ°μνλ μμΈμ νμ ν©λλ€. λ§μ§μ΄λ ν¨λ© κ°μ μ‘°μ νκ±°λ, position μμ±μ νμΈν©λλ€.
2. μκΈ°μΉ μμ μ¬λ°±
- λ¬Έμ : μμ μ£Όλ³μ μμμΉ λͺ»ν μ¬λ°±μ΄ μκΈ°λ κ²½μ°.
- μμΈ: κΈ°λ³Έ μ€νμΌμνΈ (user agent stylesheet)μμ μ€μ λ λ§μ§μ΄λ ν¨λ©.
- ν΄κ²° λ°©λ²: κ°λ°μ λꡬμμ μμλ₯Ό μ ννκ³ , μ μ©λ μ€νμΌμ νμΈν©λλ€. λΆνμν μ¬λ°±μ μ κ±°νκΈ° μν΄ κΈ°λ³Έ λ§μ§κ³Ό ν¨λ©μ μ¬μ€μ ν©λλ€.
* {
margin: 0;
padding: 0;
}
3. μμκ° νλ©΄μ λ²μ΄λλ λ¬Έμ
- λ¬Έμ : μμκ° νλ©΄ λ°μΌλ‘ λ²μ΄λκ±°λ μ€ν¬λ‘€μ΄ λ°μνλ κ²½μ°.
- μμΈ: μμμ ν¬κΈ°κ° λΆλͺ¨ 컨ν μ΄λμ ν¬κΈ°λ₯Ό μ΄κ³Ό.
- ν΄κ²° λ°©λ²: λΆλͺ¨ μμμ ν¬κΈ°μ μμ μμμ ν¬κΈ°λ₯Ό μ‘°μ ν©λλ€. νμμ λ°λΌ overflow μμ±μ μ¬μ©νμ¬ μ€ν¬λ‘€μ μ μ΄ν©λλ€.
.container {
overflow: hidden;
}
4. λ μ΄μμ λΆκ΄΄ λ¬Έμ
- λ¬Έμ : ν μμμ ν¬κΈ° λ³νλ‘ μΈν΄ μ 체 λ μ΄μμμ΄ λΆκ΄΄λλ κ²½μ°.
- μμΈ: νλ‘ν μμλ μλͺ»λ λ°μ€ ν¬κΈ° κ³μ°.
- ν΄κ²° λ°©λ²: clear μμ±μ μ¬μ©νμ¬ νλ‘ν μμλ₯Ό μ 리νκ±°λ, box-sizing μμ±μ μ¬μ©νμ¬ λ°μ€ λͺ¨λΈ κ³μ° λ°©μμ λ³κ²½ν©λλ€.
.box {
box-sizing: border-box;
}
μ΄μ κ°μ λ°©λ²μΌλ‘ λΈλΌμ°μ κ°λ°μ λꡬλ₯Ό νμ©νμ¬ CSS λ°μ€ λͺ¨λΈκ³Ό κ΄λ ¨λ λ¬Έμ λ₯Ό ν¨κ³Όμ μΌλ‘ ν΄κ²°ν μ μμ΅λλ€.
ν΅μ¬ λ΄μ©π