CSS

1c2·2024년 3월 6일
0

프론트 엔드

목록 보기
2/2

CSS구문

h1{
	color: red;
    font-size: 30px;
}

css적용 방법

  • 인라인 스타일

    • HTML요소 안에 style 속성 값으로 작성
  • 내부 스타일 시트

    • head 태그 안에 style 태그에 작성
  • 외부 스타일 시트

    • 별도의 CSS파일 생성 후 HTML link 태그를 사용해 불러오기

스타일 우선 순위

  • 스타일 적용 우선순위는 인라인 스타일 > 내부 스타일 시트 > 외부 스타일 시트 순

CSS 상속

  • CSS는 상속을 통해 부모 속성을 자식 요소에게 상속시킴.
  • 모든 속성이 상속되는 것은 아님
  • 상속되지 않는 속성을 상속받기
    • inherit를 사용하여 상속
    • ex) margin : inherit

selector

  • HTML문서에서 CSS 규칙 적용 타겟이 되는 다양한 종류의 CSS 선택자(selector)가 존재.
  • 일반 선택자는 전체 선택자, 타입 선택자, 클래스 선택자, ID 선택자로 분류
  • 복합 선택자는 자식 선택자, 하위 선택자, 인접 형제 선택자, 일반 형제 선택자로 분류
  • 그 외에도 가상 클래스 선택자, 가상 엘리먼트 선택자, 속성 선택자가 존재

하위 선택자 : 자손 모두
자식 선택자 : 자식만

전체 선택자

전체 선택자를 사용해서 통일

여러 요소는 ,를 사용하여 구분

일반 선택자

  • 클래스 선택자 (.class-name{})
  • 클래스 명은 공백 없이 대소문자 또는 Hypen(-), UnderScore(_)로 시작
  • HTML 문서에서 동일한 클래스 명을 중복해서 사용 가능
  • class 속성 값에 하나 이상의 클래스를 적용 가능

  • ID선택자 사용법은 "#id-name{}"이다.
  • HTML 문서에서 동일한 ID를 중복 사용할 수 없다. (class와 달리 유일해야 함)
  • id 속성 값엔 1개의 id만 사용 가능
  • 일반 선택자 중 가장 우선순위가 높다.

복합 선택자

  • 하위 선택자 사용법은 "element element{}"이다.

  • 하위 선택자는 1단계 하위 요서와 2단계 이상 하위요소에 모두 적용

  • 자식 선택자 사용법은 "element > element{}"이다.

  • 자식 선택자는 1단계 하위 요소에만 적용

  • 인접 형제 선택자 사용법은 "element + element{}" 이다.

  • 형제 관계인 요소가 여러 개 존재할 경우 첫 번째 요소만 선택.

  • 일반 형제 선택자 사용법은 "element ~ element{}"이다.

  • 형제 관계인 요소가 여러 개인 경우 모든 요소를 선택

가상클래스 선택자

  • 가상 클래스 선택자는 User Agent가 제공하는 가상의 클래스를 지정
  • 사용법은 "element : 가상클래스{}"이다.

가상 엘리먼트 선택자

  • 가상 엘리먼트 선택자는 보이지 않는 가상의 요소를 선택.
  • 사용법은 "::가상 엘리먼트{}"이다.
  • 가상 엘리먼트 표기법으로 CSS1과 CSS2에서 single colon(:)을 사용했음.
  • CSS3에선 double colon(::)으로 대체

선택자 - 속성 선택자

  • 특정한 속성을 가지거나 속성 값을 갖는 요소를 선택
  • Existence([]), Equality([=]), Space([~=]), Prefix([^=]), Substring([*=])등이 있다.
  • 속성 선택자를 사용하기 위해서는 HTML문서를 작성할 때에 name, title등의 속성값을 규칙적으로 정의
  • 화면에 같은 분류의 많은 항목들을 일곽적으로 선택할 때 유용. (예 : 특정이름을 갖는 체크박스)

선택자 - CSS 규칙 적용 우선순위

  • 같은 엘리먼트에 두 개 이상의 CSS규칙이 적용된 경우 마지막 규칙, 구체적인 규칙, limportant가 우선 적용
  • CSS 규칙들 중 하단에 작성한 규칙이 마지막 규칙이다.
  • P{} 보단 p b{}가 더 구체적이므로 p{}가 아닌 p b{}가 적용됨.
  • 속성 값 뒤에 limportant를 작성하면 같은 요소에 대해 보다 우선적으로 스타일 적용

CSS3 속성

  • <font> tag 관련 속서은 CSS property로 대체 가능하므로 추천하지 않는 기능
  • CSS Font 관련 속성은 text의 글꼴, 굵기, 크기, 스타일 등을 지정.
  • font-family, font-size, font-style, font-variant, font-weight, font로 구성.
  • font는 하나의 선언에서 여러 font관련 속성을 지정.

Box Model

  • CSS는 모든 엘리먼트는 여러 겹의 상자로 둘러 쌓여 있다고 가정한다.
  • 모든 HTML요소는 사각형의 박스 모델이고 위에서 아래로, 왼쪽에서 오른쪽으로 쌓인다.
  • 컨텐트, 패딩, 테두디, 마진으로 구분
  • 컨텐트를 정렬 또는 위치를 지정하기 위해 Padding, Margin 속성을 활용

Box Model 구성

Box Model - box-sizing

  • 모든 element의 box-sizing은 기본 값이 content-box이다.
    • padding과 border를 제외한 content 영역만을 box로 지정
  • border 까지의 영역을 box로 지정할 경우 box-sizing을 border-box로 설정

0개의 댓글