CSS @nestμ λν ν¬κ΄μ μΈ κ°μ΄λλ‘, μ μ§λ³΄μ κ°λ₯νκ³ μ²΄κ³μ μΈ μ€νμΌμνΈ μμ±μ μν μ΄μ , ꡬ문, μ€μ μ μ© μ¬λ‘λ₯Ό νμν©λλ€. λκ·λͺ¨ νλ‘μ νΈλ₯Ό μν΄ CSSλ₯Ό ν¨μ¨μ μΌλ‘ ꡬμ±νλ λ°©λ²μ λ°°μ°μΈμ.
CSS @nest: νμ₯ κ°λ₯ν μ€νμΌμνΈλ₯Ό μν μ€μ²© κ·μΉ κ΅¬μ± λ§μ€ν°νκΈ°
CSSλ μλ
μ κ±Έμ³ ν¬κ² λ°μ νλ©° κ·Έ νκ³Ό μ μ°μ±μ ν₯μμν€λ κΈ°λ₯λ€μ λμ
νμ΅λλ€. μ΅κ·Ό κ°μ₯ μν₯λ ₯ μλ μΆκ° κΈ°λ₯ μ€ νλλ @nest
κ·μΉμΌλ‘, κ°λ°μκ° CSS κ·μΉμ μλ‘ μ€μ²©μμΌ HTML ꡬ쑰λ₯Ό λ°μνκ³ μ€νμΌμνΈμ ꡬμ±κ³Ό κ°λ
μ±μ κ°μ ν μ μκ² ν΄μ€λλ€. μ΄ κ°μ΄λλ @nest
μ λν ν¬κ΄μ μΈ κ°μλ₯Ό μ 곡νλ©°, νλ‘μ νΈμ ꡬννκΈ° μν μ΄μ , ꡬ문, μ€μ μ μ© μ¬λ‘ λ° λͺ¨λ² μ¬λ‘λ₯Ό νμν©λλ€.
CSS μ€μ²©μ΄λ 무μμΈκ°?
CSS μ€μ²©μ CSS κ·μΉμ λ€λ₯Έ CSS κ·μΉ μμ ν¬ν¨μν€λ κΈ°λ₯μ μλ―Έν©λλ€. μ ν΅μ μΌλ‘ CSSλ κ°λ°μκ° κ° μμμ κ·Έ μμ μμμ λν΄ λ³λμ κ·μΉμ μμ±ν΄μΌ νκΈ° λλ¬Έμ λ°λ³΅μ΄ λ°μνκ³ κ΅¬μ‘°κ° μ΄μμ μ΄μμ΅λλ€. @nest
λ₯Ό μ¬μ©νλ©΄ κ΄λ ¨ μ€νμΌμ ν¨κ» κ·Έλ£Ήννμ¬ λ μ§κ΄μ μ΄κ³ μ μ§λ³΄μνκΈ° μ¬μ΄ μ½λλ² μ΄μ€λ₯Ό λ§λ€ μ μμ΅λλ€.
CSS μ€μ²©μ μ£Όμ λͺ©νλ CSS μ€νμΌμνΈμ ꡬμ±, κ°λ μ± λ° μ μ§λ³΄μμ±μ ν₯μμν€λ κ²μ λλ€. HTML ꡬ쑰λ₯Ό λ°μν¨μΌλ‘μ¨ μ€μ²©μ λ€μν μ€νμΌκ³Ό ν΄λΉ μμ κ°μ κ΄κ³λ₯Ό λ μ½κ² μ΄ν΄ν μ μκ² ν΄μ€λλ€.
@nest
μ¬μ©μ μ΄μ
- ν₯μλ κ°λ μ±: μ€μ²©μ HTML ꡬ쑰λ₯Ό λ°μνμ¬ μ€νμΌκ³Ό μμ κ°μ κ΄κ³λ₯Ό λ μ½κ² μ΄ν΄ν μ μκ² ν©λλ€.
- ν₯μλ μ μ§λ³΄μμ±: λΆλͺ¨ μμμ λν λ³κ²½ μ¬νμ΄ μ€μ²©λ μμμ μλμΌλ‘ κ³λ¨μμΌλ‘ μ μ©λμ΄ λ°λ³΅μ μΈ μ λ°μ΄νΈμ νμμ±μ μ€μ¬μ€λλ€.
- λ°λ³΅ κ°μ: μ€μ²©μ μ νμλ₯Ό λ°λ³΅ν νμλ₯Ό μμ λ μ§§κ³ κ°κ²°ν μ€νμΌμνΈλ₯Ό λ§λλλ€.
- λ λμ ꡬμ±: κ΄λ ¨ μ€νμΌμ ν¨κ» κ·Έλ£Ήννμ¬ CSSμ μ 체 ꡬ쑰λ₯Ό κ°μ νκ³ νμ λ° κ΄λ¦¬λ₯Ό λ μ½κ² λ§λλλ€.
- λͺ μμ± μ μ΄ κ°ν: μ€μ²©μ λͺ μμ±μ λ μ λ°νκ² μ μ΄ν μ μκ² νμ¬ μ€νμΌ μΆ©λ κ°λ₯μ±μ μ€μ λλ€.
@nest
ꡬ문
@nest
κ·μΉμ μ¬μ©νκΈ° κ°λ¨ν©λλ€. κ°λ¨ν ꡬ문μ λ°λΌ CSS κ·μΉμ λ€λ₯Έ κ·μΉ μμ ν¬ν¨μν¬ μ μμ΅λλ€:
.parent {
/* λΆλͺ¨ μμ μ€νμΌ */
@nest .child {
/* μμ μμ μ€νμΌ */
}
@nest &:hover {
/* λΆλͺ¨ μμ hover μ μ€νμΌ */
}
}
μ΄ μμ μμ .child
μ€νμΌμ .parent
μ€νμΌ μμ μ€μ²©λ©λλ€. &
μ νμλ λΆλͺ¨ μμλ₯Ό μ°Έμ‘°νμ¬ κ°μ ν΄λμ€λ κ°μ μμμ κΈ°λ°ν μ€νμΌμ μ μ©ν μ μκ² ν©λλ€.
&
μ νμ μ¬μ©νκΈ°
&
μ νμλ CSS μ€μ²©μ μ€μν λΆλΆμ
λλ€. μ΄λ λΆλͺ¨ μ νμλ₯Ό λνλ΄λ©°, λΆλͺ¨ μμμ μνλ 컨ν
μ€νΈμ λ°λΌ μ€νμΌμ μ μ©ν μ μκ² ν©λλ€. μλ₯Ό λ€μ΄:
.button {
background-color: #007bff;
color: white;
padding: 10px 20px;
border: none;
cursor: pointer;
@nest &:hover {
background-color: #0056b3;
}
@nest &.primary {
background-color: #28a745;
@nest &:hover {
background-color: #1e7e34;
}
}
}
μ΄ μμ μμ &
μ νμλ .button
μμμ hover μ€νμΌμ μ μ©νλ λ° μ¬μ©λ©λλ€. λν .button.primary
ν΄λμ€μ μ€νμΌμ μ μ©νλ λ°λ μ¬μ©λμ΄ μ€μ²©μ ν΄λμ€ μ νμμ κ²°ν©νλ λ°©λ²μ 보μ¬μ€λλ€.
@nest
μ μ€μ μμ
@nest
μ μ΄μ μ μ€λͺ
νκΈ° μν΄ λͺ κ°μ§ μ€μ μμ λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
λ΄λΉκ²μ΄μ λ©λ΄
μ€μ²©λ λͺ©λ‘ νλͺ©μ΄ μλ λ΄λΉκ²μ΄μ
λ©λ΄λ₯Ό μκ°ν΄ 보μΈμ. @nest
λ₯Ό μ¬μ©νμ¬ CSSλ₯Ό λ€μκ³Ό κ°μ΄ ꡬμ±ν μ μμ΅λλ€:
.nav {
list-style: none;
padding: 0;
margin: 0;
@nest li {
margin-bottom: 10px;
@nest a {
text-decoration: none;
color: #333;
@nest &:hover {
color: #007bff;
}
}
@nest ul {
list-style: none;
padding-left: 20px;
}
}
}
μ΄ μμ λ .nav
ν΄λμ€ λ΄μμ λͺ©λ‘ νλͺ©, λ§ν¬ λ° μ€μ²©λ μ λ ¬λμ§ μμ λͺ©λ‘μ λν μ€νμΌμ μ€μ²©νλ λ°©λ²μ 보μ¬μ€λλ€. &
μ νμλ λ§ν¬μ hover μ€νμΌμ μ μ©νλ λ° μ¬μ©λ©λλ€.
νΌ μμ
νΌμ μ’
μ’
λ€μν μνμ μμμ λν 볡μ‘ν μ€νμΌλ§μ΄ νμν©λλ€. @nest
λ μ΄ κ³Όμ μ λ¨μνν μ μμ΅λλ€:
.form-group {
margin-bottom: 20px;
@nest label {
display: block;
margin-bottom: 5px;
}
@nest input[type="text"], input[type="email"], textarea {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
@nest &:focus {
border-color: #007bff;
outline: none;
}
}
@nest .error-message {
color: red;
font-size: 0.8em;
margin-top: 5px;
}
}
μ΄ μμ μμ .form-group
ν΄λμ€λ λ μ΄λΈ, μ
λ ₯ νλ λ° μ€λ₯ λ©μμ§μ λν μ€μ²©λ μ€νμΌμ ν¬ν¨ν©λλ€. &
μ νμλ μ
λ ₯ νλμ focus μ€νμΌμ μ μ©νλ λ° μ¬μ©λ©λλ€.
μΉ΄λ μ»΄ν¬λνΈ
μΉ΄λ μ»΄ν¬λνΈλ μΌλ°μ μΈ UI ν¨ν΄μ λλ€. μ€μ²©μ μΉ΄λμ λ€λ₯Έ λΆλΆμ λν μ€νμΌμ ꡬμ±νλ λ° λμμ΄ λ μ μμ΅λλ€:
.card {
border: 1px solid #ccc;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
overflow: hidden;
@nest .card-header {
background-color: #f0f0f0;
padding: 10px;
font-weight: bold;
}
@nest .card-body {
padding: 20px;
}
@nest .card-footer {
background-color: #f0f0f0;
padding: 10px;
text-align: right;
}
}
μ΄ μμ λ μΉ΄λ μ»΄ν¬λνΈμ ν€λ, λ³Έλ¬Έ λ° νΈν°μ λν μ€νμΌμ μ€μ²©νλ λ°©λ²μ 보μ¬μ€λλ€. μ΄ μ κ·Ό λ°©μμ μΉ΄λμ ꡬ쑰μ μ€νμΌλ§μ μ½κ² μ΄ν΄ν μ μκ² ν©λλ€.
@nest
μ¬μ©μ μν λͺ¨λ² μ¬λ‘
@nest
λ λ§μ μ΄μ μ μ 곡νμ§λ§, μ§λμΉκ² 볡μ‘νκ±°λ μ μ§λ³΄μνκΈ° μ΄λ €μ΄ μ€νμΌμνΈλ₯Ό λ§λ€μ§ μλλ‘ μ μ€νκ² μ¬μ©νλ κ²μ΄ μ€μν©λλ€. λ€μμ λ°λΌμΌ ν λͺ κ°μ§ λͺ¨λ² μ¬λ‘μ
λλ€:
- μ€μ²© μμ€μ μκ² μ μ§νμΈμ: κΉκ² μ€μ²©λ κ·μΉμ CSSλ₯Ό μ΄ν΄νκ³ λλ²κΉ νκΈ° μ΄λ ΅κ² λ§λ€ μ μμΌλ―λ‘ νΌνμΈμ. μ΅λ 2-3 μμ€μ μ€μ²© κΉμ΄λ₯Ό λͺ©νλ‘ νμΈμ.
- μλ―Έ μλ ν΄λμ€ μ΄λ¦μ μ¬μ©νμΈμ: κ° μμμ λͺ©μ μ λͺ ννκ² λνλ΄λ μ€λͺ μ μΈ ν΄λμ€ μ΄λ¦μ μ ννμΈμ. μ΄λ κ² νλ©΄ CSSμ κ°λ μ±κ³Ό μ μ§λ³΄μμ±μ΄ ν₯μλ©λλ€.
- κ³Όλν λͺ μμ±μ νΌνμΈμ: κ·μΉμ μ€μ²©ν λ λͺ μμ±μ μ μνμΈμ. μ§λμΉκ² λͺ μμ μΈ μ νμλ λμ€μ μ€νμΌμ μ¬μ μνκΈ° μ΄λ ΅κ² λ§λ€ μ μμ΅λλ€.
- μ£Όμμ μ¬μ©νμΈμ: 볡μ‘ν μ€μ²© ꡬ쑰λ λͺ ννμ§ μμ μ€νμΌλ§ μ νμ λν΄ μ€λͺ νλ μ£Όμμ μΆκ°νμΈμ.
- μ² μ ν ν μ€νΈνμΈμ: μ€μ²©μ΄ μμλλ‘ μλνλμ§ νμΈνκΈ° μν΄ λ€μν λΈλΌμ°μ μ μ₯μΉμμ CSSλ₯Ό ν μ€νΈνμΈμ.
- λ€λ₯Έ κΈ°μ κ³Ό κ· νμ λ§μΆμΈμ: μ΅μ μ κ²°κ³Όλ₯Ό μν΄
@nest
λ₯Ό BEM(Block, Element, Modifier)μ΄λ CSS λͺ¨λκ³Ό κ°μ λ€λ₯Έ CSS κ΅¬μ± κΈ°μ κ³Ό κ²°ν©νλ κ²μ κ³ λ €νμΈμ.
CSS μ μ²λ¦¬κΈ°μμ λΉκ΅
Sass, Less, Stylusμ κ°μ CSS μ μ²λ¦¬κΈ°λ€μ μ€λ«λμ μ€μ²© κΈ°λ₯μ μ 곡ν΄μμ΅λλ€. κ·Έλ¬λ @nest
λ λ€μ΄ν°λΈ μ€μ²© κΈ°λ₯μ CSSμ λμ
νμ¬ λ§μ κ²½μ° μ΄λ¬ν μ μ²λ¦¬κΈ°λ€μ νμμ±μ μμ μ€λλ€. λ€μμ λΉκ΅μ
λλ€:
- λ€μ΄ν°λΈ μ§μ:
@nest
λ λ€μ΄ν°λΈ CSS κΈ°λ₯μ΄λ―λ‘ μ½λλ₯Ό μ»΄νμΌνκΈ° μν΄ μ μ²λ¦¬κΈ°κ° νμνμ§ μμ΅λλ€. - λ¨μμ±:
@nest
λ μΌλΆ μ μ²λ¦¬κΈ° μ€μ²© ꡬνλ³΄λ€ κ΅¬λ¬Έμ΄ κ°λ¨νμ¬ λ°°μ°κ³ μ¬μ©νκΈ° λ μ½μ΅λλ€. - μ»΄νμΌ λ¨κ³ μμ:
@nest
λ₯Ό μ¬μ©νλ©΄ μ»΄νμΌ λ¨κ³ μμ΄ μ€νμΌμνΈμ μ§μ CSSλ₯Ό μμ±ν μ μμ΅λλ€. - μ μ²λ¦¬κΈ° κΈ°λ₯: μ μ²λ¦¬κΈ°λ λ³μ, λ―Ήμ€μΈ, ν¨μμ κ°μ μΆκ° κΈ°λ₯μ μ 곡νμ§λ§
@nest
λ μ 곡νμ§ μμ΅λλ€. μ΄λ¬ν κΈ°λ₯μ΄ νμνλ€λ©΄ μ μ²λ¦¬κΈ°κ° μ¬μ ν λ λμ μ νμΌ μ μμ΅λλ€.
λ§μ νλ‘μ νΈμμ @nest
λ CSS μ μ²λ¦¬κΈ°μ νμμ±μ λ체νμ¬ μν¬νλ‘μ°λ₯Ό λ¨μννκ³ μ’
μμ±μ μ€μΌ μ μμ΅λλ€. κ·Έλ¬λ μ μ²λ¦¬κΈ°μ κ³ κΈ κΈ°λ₯μ΄ νμν κ²½μ° μ¬μ ν μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.
@nest
λΈλΌμ°μ μ§μ
@nest
μ λν λΈλΌμ°μ μ§μμ μ§μμ μΌλ‘ λ°μ νκ³ μμ΅λλ€. 2024λ
νλ° κΈ°μ€μΌλ‘ λλΆλΆμ μ΅μ λΈλΌμ°μ λ λ€μμ ν¬ν¨νμ¬ CSS μ€μ²©μ μ§μν©λλ€:
- Chrome
- Firefox
- Safari
- Edge
μ¬μ©μκ° μ¬μ©νλ λΈλΌμ°μ μμ @nest
κ° μ§μλλμ§ νμΈνκΈ° μν΄ Can I Use ([https://caniuse.com](https://caniuse.com))μ κ°μ 리μμ€μμ μ΅μ λΈλΌμ°μ νΈνμ± μ 보λ₯Ό νμ νμΈνλ κ²μ΄ μ’μ΅λλ€.
μ€μ μλ리μ€μμμ @nest
μμ
@nest
κ° CSS ꡬμ±κ³Ό μ μ§λ³΄μμ±μ ν¬κ² ν₯μμν¬ μ μλ λͺ κ°μ§ μ€μ μλ리μ€λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€:
λ°μν λμμΈ
λ°μν λμμΈμ λ€λ£° λ @nest
λ μ»΄ν¬λνΈ μ€νμΌ λ΄μμ λ―Έλμ΄ μΏΌλ¦¬λ₯Ό ꡬμ±νλ λ° λμμ΄ λ μ μμ΅λλ€:
.container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
@nest @media (max-width: 768px) {
padding: 10px;
@nest h2 {
font-size: 1.5em;
}
}
}
μ΄ μμ λ .container
ν΄λμ€ λ΄μ λ―Έλμ΄ μΏΌλ¦¬λ₯Ό μ€μ²©νλ λ°©λ²μ 보μ¬μ€λλ€. λ―Έλμ΄ μΏΌλ¦¬ λ΄μ μ€νμΌμ νλ©΄ λλΉκ° 768px μ΄νμΌ λλ§ μ μ©λ©λλ€.
ν λ§ μ μ©
@nest
λ μΉμ¬μ΄νΈλ μ ν리μΌμ΄μ
μ ν
λ§λ₯Ό λ§λλ λ° λ§€μ° μ μ©ν μ μμ΅λλ€. λ€λ₯Έ ν
λ§λ₯Ό μ μνκ³ κΈ°λ³Έ μ»΄ν¬λνΈ μ€νμΌ λ΄μ ν
λ§λ³ μ€νμΌμ μ€μ²©ν μ μμ΅λλ€:
.button {
background-color: #007bff;
color: white;
padding: 10px 20px;
border: none;
cursor: pointer;
@nest &.dark-theme {
background-color: #343a40;
color: #fff;
@nest &:hover {
background-color: #23272b;
}
}
}
μ΄ μμ μμ .dark-theme
ν΄λμ€λ κΈ°λ³Έ λ²νΌ μ€νμΌμ μ¬μ μνλ μ€νμΌμ ν¬ν¨ν©λλ€. μ΄λ₯Ό ν΅ν΄ λ€λ₯Έ ν
λ§ κ°μ μ½κ² μ νν μ μμ΅λλ€.
μ λλ©μ΄μ λ° μ ν
μ λλ©μ΄μ
λ° μ νμ λ€λ£° λ @nest
λ κ΄λ ¨ μ€νμΌμ ν¨κ» μ μ§νλ λ° λμμ΄ λ μ μμ΅λλ€:
.fade-in {
opacity: 0;
transition: opacity 0.5s ease-in-out;
@nest &.active {
opacity: 1;
}
}
μ΄ μμ λ νμ΄λμΈ μμμ νμ± μνμ λν μ€νμΌμ μ€μ²©νλ λ°©λ²μ 보μ¬μ€λλ€. μ΄λ₯Ό ν΅ν΄ .active
ν΄λμ€κ° .fade-in
ν΄λμ€μ κ΄λ ¨μ΄ μμμ λͺ
νν μ μ μμ΅λλ€.
κ³ κΈ μ€μ²© κΈ°λ²
κΈ°λ³Έ ꡬ문 μΈμλ @nest
μ λͺ¨λ κΈ°λ₯μ νμ©ν μ μλ λͺ κ°μ§ κ³ κΈ κΈ°λ²μ΄ μμ΅λλ€:
μμ± μ νμμ κ²°ν©νκΈ°
@nest
λ₯Ό μμ± μ νμμ κ²°ν©νμ¬ μμ±μ λ°λΌ νΉμ μμλ₯Ό νκ²ν
ν μ μμ΅λλ€:
.input-wrapper {
margin-bottom: 10px;
@nest input[type="text"] {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
}
}
μ΄ μμ λ .input-wrapper
ν΄λμ€ λ΄μμ type
μμ±μ΄ text
λ‘ μ€μ λ λͺ¨λ input μμλ₯Ό νκ²ν
ν©λλ€.
μ¬λ¬ μ νμ μ€μ²©νκΈ°
νλμ @nest
κ·μΉ λ΄μ μ¬λ¬ μ νμλ₯Ό μ€μ²©ν μ μμ΅λλ€:
.container {
@nest h1, h2, h3 {
font-weight: bold;
margin-bottom: 20px;
}
}
μ΄ μμ λ .container
ν΄λμ€ λ΄μ λͺ¨λ h1
, h2
, h3
μμμ λμΌν μ€νμΌμ μ μ©ν©λλ€.
μ€μ²©κ³Ό ν¨κ» :is()
λ° :where()
μ¬μ©νκΈ°
:is()
λ° :where()
κ°μ ν΄λμ€λ₯Ό μ€μ²©κ³Ό κ²°ν©νμ¬ λ μ μ°νκ³ μ μ§λ³΄μνκΈ° μ¬μ΄ μ€νμΌμ λ§λ€ μ μμ΅λλ€. :is()
λ κ΄νΈ μμ μ νμ μ€ μ΄λ κ²κ³Όλ μΌμΉνλ©°, :where()
λ λμΌν μμ
μ μννμ§λ§ λͺ
μμ±μ΄ 0μ
λλ€.
.card {
@nest :is(.card-header, .card-footer) {
background-color: #f0f0f0;
padding: 10px;
}
@nest :where(.card-header, .card-footer) {
border-bottom: 1px solid #ccc; /* λͺ
μμ±μ΄ 0μΈ μμ */
}
}
μ΄ μμ λ :is()
λ₯Ό μ¬μ©νμ¬ .card
ν΄λμ€ λ΄μ .card-header
λ° .card-footer
μμμ λμΌν μ€νμΌμ μ μ©νκ³ , :where()
λ₯Ό μ¬μ©νμ¬ λͺ
μμ±μ΄ 0μΈ ν
λ리λ₯Ό μΆκ°ν©λλ€. :where()
μμ λ νμν λ λ μ½κ² μ¬μ μν μ μλλ‘ νλ λ° μ μ©ν μ μμ΅λλ€.
νΌν΄μΌ ν μΌλ°μ μΈ ν¨μ
@nest
λ κ°λ ₯ν λꡬμ΄μ§λ§ λͺ κ°μ§ μΌλ°μ μΈ ν¨μ μ μΈμ§νλ κ²μ΄ μ€μν©λλ€:
- κ³Όλν μ€μ²©: μμ μΈκΈνλ―μ΄ κΉκ² μ€μ²©λ κ·μΉμ νΌνμΈμ. μ΄λ CSSλ₯Ό μ½κ³ λλ²κΉ νκΈ° λ μ΄λ ΅κ² λ§λ€ μ μμ΅λλ€.
- λͺ μμ± λ¬Έμ : μ€μ²©ν λ λͺ μμ±μ μ μνμΈμ. μ§λμΉκ² λͺ μμ μΈ μ νμλ λμ€μ μ€νμΌμ μ¬μ μνκΈ° μ΄λ ΅κ² λ§λ€ μ μμ΅λλ€.
- μ±λ₯ λ¬Έμ : κ²½μ°μ λ°λΌ μ§λμΉκ² 볡μ‘ν μ€μ²©μ μ±λ₯ λ¬Έμ λ₯Ό μΌμΌν¬ μ μμ΅λλ€. CSSκ° μ±λ₯μ λΆμ μ μΈ μν₯μ λ―ΈμΉμ§ μλμ§ μ² μ ν ν μ€νΈνμΈμ.
- λΈλΌμ°μ μ§μ λΆμ‘± (ꡬν λΈλΌμ°μ μμ): νλ‘λμ
νκ²½μμ
@nest
λ₯Ό μ¬μ©νκΈ° μ μ λΈλΌμ°μ νΈνμ±μ νμΈνμΈμ. ꡬν λΈλΌμ°μ λ₯Ό μ§μν΄μΌ νλ κ²½μ° μ μ²λ¦¬κΈ°λ ν΄λ¦¬νμ μ¬μ©ν΄μΌ ν μ μμ΅λλ€.
μν¬νλ‘μ°μ @nest
ν΅ν©νκΈ°
κΈ°μ‘΄ μν¬νλ‘μ°μ @nest
λ₯Ό ν΅ν©νλ κ²μ λΉκ΅μ κ°λ¨ν©λλ€. λ€μμ μ·¨ν μ μλ λͺ κ°μ§ λ¨κ³μ
λλ€:
- CSS λ¦°ν
λꡬ μ
λ°μ΄νΈ: CSS λ¦°ν
λꡬκ°
@nest
λ₯Ό μ§μνλμ§ νμΈνμΈμ. μ΄λ₯Ό ν΅ν΄ μ€λ₯λ₯Ό ν¬μ°©νκ³ λͺ¨λ² μ¬λ‘λ₯Ό κ°μ ν μ μμ΅λλ€. - μ½λ ν¬λ§·ν° μ¬μ©: Prettierμ κ°μ μ½λ ν¬λ§·ν°λ₯Ό μ¬μ©νμ¬ CSS μ½λλ₯Ό μλμΌλ‘ ν¬λ§·νμΈμ. μ΄λ₯Ό ν΅ν΄ μ½λμ μΌκ΄μ±κ³Ό κ°λ μ±μ 보μ₯ν μ μμ΅λλ€.
- μ½λ ν μ€νΈ: μ€μ²©μ΄ μμλλ‘ μλνλμ§ νμΈνκΈ° μν΄ λ€μν λΈλΌμ°μ μ μ₯μΉμμ CSSλ₯Ό ν μ€νΈνμΈμ.
- μκ² μμνκΈ°: μκ³ κ²©λ¦¬λ μ»΄ν¬λνΈμμ
@nest
λ₯Ό μ¬μ©νκΈ° μμνμΈμ. μ΄λ₯Ό ν΅ν΄ λ κ΄λ²μνκ² μ¬μ©νκΈ° μ μ ꡬ문과 λͺ¨λ² μ¬λ‘μ μ΅μν΄μ§ μ μμ΅λλ€.
κ²°λ‘
CSS @nest
λ CSS μΈμ΄μ κ°λ ₯ν μΆκ° κΈ°λ₯μΌλ‘, μ€νμΌμνΈλ₯Ό λ 체κ³μ μ΄κ³ μ μ§λ³΄μνκΈ° μ¬μ΄ λ°©μμΌλ‘ ꡬμ±ν μ μλ λ°©λ²μ μ 곡ν©λλ€. @nest
λ HTML ꡬ쑰λ₯Ό λ°μν¨μΌλ‘μ¨ κ°λ
μ±μ ν₯μμν€κ³ , λ°λ³΅μ μ€μ΄λ©°, λͺ
μμ± μ μ΄λ₯Ό κ°νν©λλ€. @nest
λ₯Ό μ μ€νκ² μ¬μ©νκ³ λͺ¨λ² μ¬λ‘λ₯Ό λ°λ₯΄λ κ²μ΄ μ€μνμ§λ§, λκ·λͺ¨ νλ‘μ νΈμ λν μ΄μ μ λΆμΈν μ μμ΅λλ€. λΈλΌμ°μ μ§μμ΄ κ³μ μ¦κ°ν¨μ λ°λΌ @nest
λ μ μΈκ³ νλ‘ νΈμλ κ°λ°μμκ² μμ΄μλ μ λ λκ΅¬κ° λ κ²μ
λλ€. μ€μ²©μ νμ λ°μλ€μ΄κ³ μ€λ λΉμ μ CSS μ€λ ₯μ ν λ¨κ³ λμ΄μ¬λ¦¬μΈμ!
@nest
μ ꡬ문, μ΄μ λ° λͺ¨λ² μ¬λ‘λ₯Ό μ΄ν΄ν¨μΌλ‘μ¨ λ νμ₯ κ°λ₯νκ³ μ μ§λ³΄μ κ°λ₯νλ©° 체κ³μ μΈ CSS μ€νμΌμνΈλ₯Ό λ§λ€ μ μμ΅λλ€. @nest
λ₯Ό μν¬νλ‘μ°μ ν΅ν©ν λ, κ·Έ νκ³Ό μ μ¬μ μΈ ν¨μ μ λν μ μ€ν κ³ν λ° κ³ λ € μ¬νμ κ· νμ λ§μΆλ κ²μ κΈ°μ΅νμΈμ. κ·Έ κ²°κ³Όλ μΉ νλ‘μ νΈμ μ λ°μ μΈ νμ§μ ν₯μμν€λ λ κΉ¨λνκ³ ν¨μ¨μ μΈ CSSκ° λ κ²μ
λλ€.