이 글은 패스트캠퍼스 오늘 복습으로 [프론트엔드 개발 올인원 패키지 with React Online] 강의와 Sass(SCSS)완전 정복!을 보고 정리한 글입니다.
css는 상대적으로 배우기 쉽고 재미있지만, 원시적인 문법이기 때문에 처음에 간단한 내용을 작성할 때에는 굉장히 편리하지만 프로젝트의 규모가 커지게 되면 css를 작성하는 데 불편함이 커지게 된다.
--> Sass를 통해 쉬운 문법으로 작성을 하고 나중에 CSS로 변환해서 사용!
Sass, Less등을 말함.
웹에서는 CSS만 동작하기 때문에 Sass, Less, Stylus 같은 전처리기는 직접 동작 X.
전처리기로 코딩한 것을 웹에서 동작 가능한 표준의 CSS로 컴파일을 하여 동작시킴. --> 컴파일러가 필요함
Less나 Stylus에 비해 두 가지 전처리기의 장점을 모두 가지며 Sass와 SCSS는 하나의 컴파일러로 모두 컴파일 가능함. 또한, 2006년부터 시작하여 가장 오래된 CSS확장 언어이며 그만큼 높은 성숙도와 많은 커뮤니티를 가지고 있음
SCSS: Sass의 모든 기능을 지원하는 CSS의 상위집합.
SCSS에는 중괄호와 세미콜론이 있지만 Sass에는 존재하지 않고, Mixin
을 사용하는 문법에서 Sass는 =
와 +
기호로, SCSS는 @mixin
과 @include
로 기능을 사용함.
웹에서 직접 동작할 수 없기 때문에 컴파일이 필요
다음의 사이트 사용 : SassMeister
CSS에서는 볼 수 없었던 다음의 문법을 볼 수 있음
중첩으로 container안에 item에 대한 속성을 작성해주면 다음과 같은 결과를 확인할 수 있음.
npm init -y
를 사용하여 package.json을 생성.
그 이후로 다음의 명령어를 통해 parecel-bundler를 설치
npm install -D parcel-bundler
마지막으로 parcel로 자신이 가지고 있는 html파일을 실행
npx parcel index.html
CSS주석은 /* ... */
이었는데
Sass(SCSS)는 다음의 두가지 스타일 주석 사용
// 컴파일 되지 않는 주석
/* 컴파일 되는 주석 */
Sass의 경우 컴파일되는 여러 줄 주석을 사용할 때 각 줄 앞에 *
을 붙여야 하고 중요한 것은 *
의 라인을 맞추어야함
/* 컴파일되는
* 여러 줄
* 주석 */
// Error
/* 컴파일되는
* 여러 줄
* 주석 */
SCSS는 각 줄에 *
이 없어도 문제가 되지 않아서 기존 CSS와 호환이 쉽다.
/*
컴파일되는
여러 줄
주석
*/
,
로 구분된 값의 목록((apple, orange, banana), apple orange)Key: Value
형태((apple: a, orange: o, banana: b))