SASS & SCSS

김진우·2023년 7월 26일
0

SCSS

목록 보기
2/3

SASS

SASS란?

  • CSS를 사용하다가, 스타일시트가 점점 커지고 복잡해져 유지 관리하기 어려워질때, 도움 받기위해 사용하는 것
  • SASS로 작업 -> CSS 전환 -> 브라우져에서 스타일링 보여주게 됨.

SASS vs SCSS

  • SASS : CSS로 컴파일 되거나 해석되는 전처리기(전에 처리한 뒤 컴파일 해서 CSS로 바꿔주는). 포인트는 코드를 css를 해석하는 전처리기+문법
  • SCSS : 기존 CSS 구문 위에 구축되는 SASS의 기본 문법. 포인트는 그냥 문법 이라는 것

SASS의 특징

  • 변수(Variables)
    - 변수 사용하여 재사용 하기 용이
$primary-color: #333;

body {
	color: $primary-color;
}
  • 중첩(Nesting)
    - 계층구조를 중첩하여 손쉽게 사용 가능
nav {
	ul {
    	margin: 0;
        padding: 0;
    }
    li {
    	display: inline-block;
    }
}
  • 조각들(Partial)
    - CSS의 작은 조각이 포함된 부분 SASS 파일을 만들 수 있음.

  • Modules
    - @use를 사용하여 가져온 스타일시트를 모듈이라고 함.
    - 파일을 사용할 때, 파일 확장자를 포함할 필요가 없음 SASS가 알아서 파악
/// _base.scss 의 경우 아래처럼 scss생략가능
@use 'base';

.inverse {
	color: white;
}
  • Mixins
    - 반복해서 작성하는 부분이 있는데, 재사용하려는 CSS 선언 그룹을 만들 수 있음.
	@mixin  theme($theme: DarkGray) {
    	background: $theme;
        box-shadow: 0 0 1px rgba($theme, .25);
        color: #fff;
    }
    .info {
    	@include theme;
    }
    .alert {
    	@include theme;
    }
  • Extend
    - @extend를 사용하면 한 선택기에서 다른 선택기로 CSS 속성 집합을 공유할 수 있음. 내용을 보면 Mixin이랑 비슷하지만 차이점을 보면
  • Extend와 Mixin의 차이점
    - mixin은 소스코드의 중복을 막기 위해 사용하고, extend,%placeholder는 연관성 있는 규칙에 만들기 위해 사용
    - 선택자간의 연관성이 있으면 extend 사용, 연관성이 없지만 코드가 겹치는 선택자들이면 mixin으로 중복 없애기 위해 사용
profile
Code log

0개의 댓글