CSS

CSSμ΄λž€ λ¬΄μ—‡μΌκΉŒ 😸

lheunoia 2021. 1. 15. 13:28

 

 

 

🀷🏻‍♀️ 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