CSS - 사용법, Syntax, Selectors


CSS 사용 방법

  1. link 태그 사용 (주로 사용)
<html>
  ...
  <link rel="stylesheet" href="./style.css" />
  1. <style> 태그 사용
<html>
  ...
  <style>
    선택자 {
      속성: 값;
    }
  </style>
  1. inline에 <style> 태그 사용
  <span style="속성: 값">

CSS Syntax

선택자 {
  속성: 값;
}

selector {
  property: value;
}
; 콤마(,)의 역할. 병렬적으로 적용

selector (선택자)

1. type selector

특정 태그 타입을 직접 선택

h1 {
  property: value;
}

p {
  property: value;
}

2. class selector

  • HTML에서 특정 태그의 class 값을 설정하면 값이 클래스가 됨.
  • .classname 마침표가 클래스를 선택
HTML 파일
<div class="box">
...
</div>

CSS 파일
.box {
  property: value;
}
  • 다수의 태그를 하나의 class 값으로 묶어서 동시에 CSS 적용 가능
HTML 파일
<h1 class ="box">
<div class="box">
...
</div>

CSS 파일
.box {
  property: value;
}
  • 하나의 태그에 다수의 class 값 설정 가능
HTML 파일
<div class="box-0 box-1 box-2">
...
</div>

CSS 파일 선택 방법
.box-0.box-1.box-2 {
  property: value;
}

3. id selector

  • id는 단 한개만 존재
  • #으로 선택
HTML 파일
<h1 id="unique">
...

CSS 파일
#unique {
  property: value;
}

자식 자손 형제

<section>
  <h1> </h1>
  <ul>
    <li></li>
  </ul>

  <section>의 자식은 <h1>과 <ul>.
  <h1>과 <ul>은 형제.
  <section>의 자손은 <li

4. Child Combinators(자식 선택자)

  • parent > child
HTML 파일
<section>
  <h1> 가 <h1>
  <ul>
    <l1>
      <h1> 나 <h1>
      <p>

CSS 파일
section > h1{
  property: value;
}
'가'에 CSS 적용

5. Descendant Combinators(자손 선택자)

  • parent Descendant
HTML 파일
<section>
  <h1> 가 <h1>
  <ul>
    <l1>
      <h1> 나 <h1>
      <p>

CSS 파일
section h1{
  property: value;
}
'가'와 '나'에 CSS 적용

6. Sibling Combinators(형제 선택자)

  • parent ~ sibling
<li>1</li>
<li class="active">2</li>
<li>3</li>
<li>4</li>
<li>5</li>

.avtive ~ li {
  property: value;
}
3,4,5에 CSS 적용
  • parent + sibling
<li>1</li>
<li class="active">2</li>
<li>3</li>
<li>4</li>
<li>5</li>

.avtive + li {
  property: value;
}
3에 CSS 적용

Structural Pseudo-classes

  • 가상 클래스(Pseudo-classes
  1. element:first-child
<li>1</li>
<li class="active">2</li>
<li>3</li>
<li>4</li>
<li>5</li>

li:first-child {
  property: value;
}
1에 CSS 적용
  1. element:last-child
li:last-child {
  property: value;
}
5에 CSS 적용
  1. element:nth-child(n)
li:nth-child(n) {
  property: value;
}
n번째 <li>에 CSS 적용

li:nth-child(2n) {
  property: value;
}
짝수 번째 <li>에 CSS 적용

li:nth-child(2n-1) {
  property: value;
}
홀수 번째 <li>에 CSS 적용

User Action Pseudo-classes

  1. element:hover
    • 마우스를 특정 요소에 올렸을 때 CSS 적용
HTML 파일
<a href="#"> 마우스 올려봐 </a>

CSS 파일
a:hover {
  property: value;
}
  1. element:active
    • 특정 요소를 누르는 찰나의 순간에 CSS 적용
HTML 파일
<a href="#"> 클릭해봐 </a>

CSS 파일
a:active {
  property: value;
}
  1. element:focus
    • 클릭하고 있는 동안 CSS 적용
HTML 파일
<input type="input"> 클릭해봐 </a>

CSS 파일
a:focus {
  property: value;
}

Selector 우선순위

  • CSS는 기본적으로 나중에 작성한 스타일이 적용.(덮어쓰기)
p {
  color : blue;
}

p {
  color : red;
}

<p>는 빨간색 적용
  • Selector 우선순위 금메달 : id 은메달 : class 동메달 : type
type(태그 직접 입력) < .class, 가상 클래스 < #id

#id < #id.class

Rule Breaker (우선 순위 제거)

  • 될 수 있으면 지양
  1. inline 태그
  <span style="속성: 값">
  1. !important;
  p {
    property: value; !important;
  }





© 2020.11. by creamer

Powered by CREAMer