3. CSS - (1)

λ°•ν•˜λ¦°Β·2021λ…„ 5μ›” 14일
0
post-thumbnail

πŸ’» 3-1. CSS μ„ μ–Έ 방법


✍️ CSS 의 ꡬ성

span {
color : red;
}
  • span : selector (μ„ νƒμž)
  • color : property
  • red : value

✍️ style을 HTML에 μ μš©ν•˜λŠ” 세가지 방법

1. inline

  • HTML νƒœκ·Έ μ•ˆμ—λ‹€ μ μš©ν•œλ‹€.
  • λ‹€λ₯Έ CSS νŒŒμΌμ— μ μš©ν•œ 것 보닀 κ°€μž₯ λ¨Όμ € μ μš©λœλ‹€.
<p style="border : 1px solid gray; color : red; font-size : 2em;">

2. internal

  • style νƒœκ·Έλ‘œ μ§€μ •ν•œλ‹€.
  • ꡬ쑰와 μŠ€νƒ€μΌμ΄ μ„žμ΄κ²Œ λ˜λ―€λ‘œ μœ μ§€λ³΄μˆ˜κ°€ μ–΄λ €μš΄ 단점
  • λ³„λ„μ˜ CSS νŒŒμΌμ„ κ΄€λ¦¬ν•˜μ§€ μ•Šμ•„λ„ 되며 μ„œλ²„μ— CSS νŒŒμΌμ„ λΆ€λ₯΄κΈ° μœ„ν•΄ λ³„λ„μ˜ λΈŒλΌμš°μ €κ°€ μš”μ²­μ„ 보낼 ν•„μš”κ°€ μ—†λ‹€.
<head>
	<style>
  	p {
  		font-size : 2em;
  		border : solid gray;
  		color : red;
  		}
	</style>
</head>

<body>
  <div></div>
<body>

3. external

  • μ™ΈλΆ€νŒŒμΌ (.css)둜 μ§€μ •ν•˜λŠ” 방식
  • CSS μ½”λ“œκ°€ μ•„μ£Ό 짧지 μ•Šλ‹€λ©΄ 이 λ°©λ²•μœΌλ‘œ κ΅¬ν˜„ν•˜λŠ” 것이 κ°€μž₯ μ’‹λ‹€.
  • internal μ½”λ“œμ™€ 같은 css μ½”λ“œλ₯Ό κ΅¬ν˜„ν•˜κ³ , style.css 와 같은 λ³„λ„μ˜ 파일둜 λ§Œλ“ λ‹€.
  • 이후에 μ•„λž˜μ²˜λŸΌ link νƒœκ·Έλ‘œ μΆ”κ°€
<html>
  <head>
    <link rel="stylesheet" href="style.css">
  </head>
  
  <body>
    ....
  </body>
</html>

4. μš°μ„ μˆœμœ„

  1. inline
  2. internal κ³Ό external 동등 (-> κ²ΉμΉ˜λŠ” 선언이 μžˆμ„ 경우 λ‚˜μ€‘μ— μ„ μ–Έλœ 속성이 λ°˜μ˜λœλ‹€.)

πŸ’» 3.2 상속과 μš°μ„ μˆœμœ„ κ²°μ •


✍️ CSS 상속

  • MDN CSS 계단식 및 상속
  • 계단식 (Cascade)
    • λ™μΌν•œ μš°μ„ μˆœμœ„λ₯Ό κ°–λŠ” 두 κ·œμΉ™μ΄ 적용될 λ•Œ, CSSμ—μ„œ λ§ˆμ§€λ§‰μ— λ‚˜μ˜€λŠ” κ·œμΉ™μ΄ μ‚¬μš©λœλ‹€.
  • μš°μ„ μˆœμœ„ (Specify)
    • λ™μΌν•œ μš”μ†Œμ— λ‹€λ₯Έ μ„ νƒμžμ˜ κ·œμΉ™μ΄ 적용될 λ•Œ, μ„ νƒμžμ˜ μš°μ„ μˆœμœ„μ— 따라 μ μš©λœλ‹€.
      • μš°μ„ μˆœμœ„ : class > μš”μ†Œ(νƒœκ·Έ)
  • 상속 (Inheritance)
    • λΆ€λͺ¨ μš”μ†Œμ—μ„œ μ„€μ •λœ 일뢀 CSS 속성 값은 μžμ‹ μš”μ†Œμ— μ˜ν•΄ μƒμ†λ˜λ©°, μΌλΆ€λŠ” μƒμ†λ˜μ§€ μ•ŠλŠ”λ‹€.
    • box-model 이라고 λΆˆλ¦¬λŠ” 속성듀 (width, height, margin, padding, border)와 같이 크기와 배치 κ΄€λ ¨λœ 속성듀은 ν•˜μœ„μ—˜λ¦¬λ¨ΌνŠΈλ‘œ μ†μ„±λ˜μ§€ μ•ŠλŠ”λ‹€.
    • μ΄λ ‡κ²Œ CSS λŠ” κ½€ smart ν•˜λ‹€..

✍️ cascading

선언방식에 λ”°λ₯Έ 차이

body > span {
	color : red;
} // μ΄κ²½μš°μ—λŠ” λ§ˆμ§€λ§‰μ— λ‚˜μ˜€λŠ” 것보닀 μœ„μ— 것이 더 ꡬ체적으둜 ν‘œν˜„λ˜μ—ˆκΈ° λ•Œλ¬Έμ— μœ„μ˜ style 적용

span {
	color : Blue;
}

ID > CLASS > ELEMENT 순으둜 반영

πŸ“Ž < CSS >

#a {
	color : red;
} // ID
.b {
	color : blue;
} // CLASS
div {
	color : green;
} // ELEMENT
    

πŸ“Ž < HTML >

<div id="a" class="b">
  text...
</div>

μœ„μ˜ κ²½μš°μ— 결과적으둜 color λŠ” red μ μš©λœλ‹€.

  • μš°μ„ μˆœμœ„ : id > class > element

πŸ’» 3.3 CSS Selector

  • MDN CSS Selector link
  • HTML의 μš”μ†Œλ₯Ό tag, id, class, html νƒœκ·Έ 속성 등을 톡해 μ‰½κ²Œ μ°Ύμ•„μ£ΌλŠ” 방법이닀.
  • κ·œμΉ™ λ‚΄μ˜ CSS 속성값을 μ μš©ν•˜κΈ° μœ„ν•΄ μ–΄λ–€ HTML μš”μ†Œλ₯Ό 선택해야 ν•˜λŠ”μ§€ λΈŒλΌμš°μ €μ— μ•Œλ €μ£ΌλŠ” μš”μ†Œ 및 기타 μš©μ–΄μ˜ νŒ¨ν„΄

✍️ 3가지 κΈ°λ³Έ selector

1. tag(type) selector

span {
	color : red;
 }

2. id selector

#spantag {
	color : red;
}

3. class selector

.spanClass {
	color : red;
}

✍️ attribute selector

  • element에 νŠΉμ • 속성이 μžˆλŠ”μ§€μ— 따라 선택
a[title] { }
  • λ˜λŠ” νŠΉμ • 값을 가진 μ†μ„±μ˜ 쑴재 μ—¬λΆ€λ₯Ό 기반으둜 선택
a[href="http://example.com"] {}

✍️ pseudo-class selector

< HTML >

<div class="harin">
  <p>1. p1</p>
  <span>2. span1</span>
  <p>3. p2</p>
  <span>4. span2</span>
  <p>5. p3</p>
</div>
  • nth-child : λΆ€λͺ¨ element의 λͺ¨λ“  μžμ‹ element 쀑 n번째

< CSS >

.harin > p:nth-child(5) {
	color : red
    }

κ²°κ³Ό :
result

  • nth-of-type : λΆ€λͺ¨ element의 νŠΉμ • μžμ‹ element 쀑 n번째

< CSS >

.harin > p:nth-of-type(2) {
	color : red;
}

κ²°κ³Ό : result

✍️ Combinator

  • Descendant Combinator
    • (곡백)
    • λͺ¨λ“  μžμ† element에 적용
  • Child Combinator
    • >
    • λ°”λ‘œ μ•„λž˜μ˜ μžμ‹ element μ—κ²Œλ§Œ 적용
profile
κΉƒν—ˆλΈŒ: https://github.com/khakaa

0개의 λŒ“κΈ€