π€·π»βοΈ CSS λ?
: Cascading style sheets μ μ½μ΄λ‘, λΈλΌμ°μ μμ μΉ νμ΄μ§κ° νμλλ λ°©μμ μ μ΄νλ μ μΈμ μΈμ΄μ λλ€. μ½κ² λ§νμλ©΄ μΉ νμ΄μ§λ₯Ό μ€νμΌλ§ν΄μ£Όλ μΈμ΄λΌκ³ ν μ μμ£ . CSSλ HTML λ° JavaScript μ ν¨κ» μΈ κ°μ§ ν΅μ¬ μΉ κΈ°μ μ€ νλμ λλ€. CSSλ μΌλ°μ μΌλ‘ HTML μμμ μ€νμΌμ μ§μ νμ§λ§ SVG λλ XML κ³Ό κ°μ λ€λ₯Έ λ§ν¬μ μΈμ΄μ ν¨κ» μ¬μ©ν μλ μμ΅λλ€.
Cascading
Cascadingμ μ¬μ μ μλ―Έλ "νν¬κ°μ, κ³μλλ, μ°μμ μΈ" μΌλ‘, νλμ νκ·Έμ λν΄μ λμΌν μμ±μ μ€νμΌμ μ μ©νλ κ²½μ° μ°μ μμμ λ°λΌμ μ€νμΌμ΄ κ²°μ λλ€λ μλ―Έμ λλ€. μ°μ μμλ₯Ό κ²°μ νλ μμμλ μ€μλ, λͺ μλ, μ½λμ μμκ° μμ΅λλ€.
π§π»βοΈ CSS Rules
CSS κ·μΉμ μ νμ(Selector)μ κ΄λ ¨λ μμ±(Properties) μ§ν©μ λλ€.
λ€μμ λͺ¨λ HTML λ¨λ½μ κ²μμ λ°°κ²½μ ν°μ ν μ€νΈλ‘ λ§λλ μμμ λλ€.
p {
color: white; /* colorμ text colorμ μλ―Έν¨ */
background-color: black; /* background-colorμ background colorμ μλ―Έν¨ */
}
1. μ€μλ
μ μμ !important > μ μμ CSS > μ¬μ©μ CSS > λΈλΌμ°μ CSS
μ μμλ μΉμ λμμΈν μ¬λμ ν΄λΉλκ³ μ μμκ° μ§μ ν μ€νμΌμ μ¬μ©μλ λΈλΌμ°μ κ° μ€μ ν κΈ°λ³Έ μ€νμΌλ³΄λ€ μ°μ μμκ° λμ΅λλ€. λ§μ½ μ μμκ° μλ¬΄λ° CSS μμ±λ μ§μ νμ§ μμμ κ²½μ°, λΈλΌμ°μ μμ κΈ°λ³ΈμΌλ‘ μ€μ λ μ€νμΌμ΄ μ μ©λ©λλ€. μ μμ !importantλ CSS μμ±μ μ€ λ λ€μ !importantλ₯Ό λΆμ΄λ κ²μ λ§νλλ°, μ΄λ κ² νλ©΄ μ°μ μμλ κ°μ₯ λμ§λ§ λͺ¨λ μμλ₯Ό 무μνκ³ μ μ©λλ―λ‘ μ½λμμ λμ λμκ° λλ€κ³ ν μ μμ΅λλ€. (Bad smell!!)
2. λͺ μλ
style > id > class > tag
νκ·Έ μμμ μ€νμΌ μμ±μ μ€ λ μ νμ(Selector)λ₯Ό μ¬μ©ν©λλ€. μ νμμ μ’ λ₯μ λ°λΌ λͺ μλμ μ°¨μ΄κ° λ°μνκ³ λͺ μλμ μ°¨μ΄μ λ°λΌμ μ°μ μμκ° λ°μνλλ°μ. μ νμμ μ’ λ₯λ₯Ό λ¨Όμ μ΄ν΄ λ΄ μλ€.
*
λͺ¨λ μμλ₯Ό μ ν
* {
color: red;
}
λͺ¨λ μμμ μμμ redλ‘ μ§μ ν©λλ€.
element
νΉμ μμλ§ μ ν
button {
color: blue;
}
button μμλ€μ μμμ blueλ‘ μ§μ ν©λλ€.
#{id}
idκ° {id}μΈ μμλ§ μ ν
#logo {
font-size: 24px;
}
logo λΌλ idλ₯Ό κ°μ§ μμλ€μ ν°νΈ ν¬κΈ°λ₯Ό 24pxλ‘ μ§μ ν©λλ€.
.{class}
classκ° {class}μΈ μμλ§ μ ν
.box {
flex-direction: row;
}
box λΌλ class μ΄λ¦μ κ°μ§ μμλ€μ κ°λ‘λ‘ μ λ ¬ν©λλ€.
:first-child
νΉμ μμμ 첫 λ²μ§Έ μμ μμλ§ μ ν
div:first-child {
padding: 12px;
}
div μμμ 첫 λ²μ§Έ μμ μμμ paddingμ 12pxλ‘ μ§μ ν©λλ€.
:last-child
νΉμ μμμ λ§μ§λ§ μμ μμλ§ μ ν
div:last-child {
margin-right: 10px;
}
div μμμ λ§μ§λ§ μμ μμμ margin-rightμ 10pxλ‘ μ§μ ν©λλ€.
:not
νΉμ μμλ₯Ό μ μΈν λλ¨Έμ§ μμλ§ μ ν
li:not(:last-child) {
padding-bottom: 5px;
}
λ§μ§λ§ μμκ° μλ li μμλ€μ padding-bottomμ 5pxλ‘ μ§μ ν©λλ€.
element[μμ±=" "]
ν΄λΉ μμ μ€ νΉμ 쑰건μ κ°μΆ νκ·Έλ§ μ ν
a[href^="naver"] {
color: green;
}
a μμ μ€ νμ΄νΌλ§ν¬κ° "naver"λ‘ μμνλ μμμ μμμ greenμΌλ‘ μ§μ ν©λλ€.
3. μ½λμ μμ
μ νμ(Selector)μ μ’ λ₯μ κΉμ΄κ° κ°μ λ μ°μ μμμ κ²°μ λ°©μμ μ½λμ μμμ λλ€. μ½λ μμμ λμ€μ λμ€λ κ²½μ°κ° μ°μ μμκ° λλλ‘ μ€μ λ©λλ€.
div ul .first {
color: yellow;
}
div ul .first, .second {
color: green;
}
μ½λμ μμμ λ°λΌ class μ΄λ¦μ΄ firstμΈ μμμ μμμ greenμΌλ‘ μ§μ λ©λλ€.
'CSS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[CSS] Flex Box (0) | 2023.04.05 |
---|---|
relative vs absolute κ°λ λΉκ΅ (0) | 2021.03.03 |
μμ£Ό μ°μ΄λ CSS μμ±λ€ (0) | 2021.01.28 |