일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 정보처리기사실기
- Oracle
- 자바의정석
- 자바스크립트 코딩테스트
- php
- 정보처리기사정리
- 스프링
- 정보처리기사
- 리액트
- 타입스크립트
- 정보처리기사실기정리
- 자바스크립트
- VUE
- 정보처리기사실기요약
- 국비코딩
- Java의정석
- spring
- typescript
- 평일코딩
- ReactNative
- react
- 정보처리기사요약
- 오라클
- 자스코테
- javascript
- 이안의평일코딩
- 국비IT
- CSS
- 코딩테스트
- 리액트네이티브
- Today
- Total
이안의 평일코딩
SASS/SCSS 기초 문법 총정리 본문
SASS란?
CSS를 프로그래밍 언어스럽게 작성가능한 Preprocessor로 CSS에서 변수, 연산자, 함수, extend, import 등을 사용가능하게끔 해준다. 브라우저는 SASS문법을 모르기 때문에 SASS로 작성한 파일을 다시 CSS로 컴파일해야하는데 node-sass를 설치하면 알아서 해준다.
node-sass 설치
설치는 npm install node-sass 또는 yarn이 있을 때 yarn add node-sass을 터미널에 치면된다. 그리고 SASS문법을 쓰고싶다면 .CSS 파일이 아닌 .SCSS로 만들면 된다. 그리고 import './파일명.scss'으로 불러온다.
SASS 문법
1. 변수에 데이터를 저장
$변수명 : 변수에 넣을 값
Detail.scss
$메인칼라 : #ff0000;
.red{
color : $메인칼라;
}
2. @import 파일 경로
사실 CSS문법이지만 SASS에서도 많이 사용한다.
CSS 파일 간 import를 하는 문법이다.
reset.scss
body {
margin : 0;
}
div {
box-sizing: border-box;
}
Detail.scss
@import './reset.scss';
3. nesting
셀렉터 대신 쓴다. 아래의 예시를 보면 div.container 안에 있는 UI들이라는 것을 쉽게 파악할 수 있다.
Detail.scss
// div.container h4 {
// color : blue;
// }
// div.container p {
// color : green;
// }
div.container {
h4 {
color: blue;
}
p {
color : green;
}
}
4. @extend
비슷한 코드는 그대로 복붙하지 않고 @extend를 해온다.
Detail.scss
.my-alert {
background: #eeeeee;
padding: 20px;
border-radius: 5px;
max-width: 500px;
width: 100%;
margin: auto;
}
.my-alert-pink {
@extend .my-alert;
background: pink;
}
5. @mixin / @include
@mixin은 긴 코드를 축약하기 위해 함수를 만드는 것이다.
(자바스크립트와 다르게 함수명이 위에 선언되어있어야 밑에서 사용가능)
@include는 함수를 가져다쓰기 위해서 쓰는 문법이다.
Detail.scss
@mixin 함수() {
background: #eeeeee;
padding: 20px;
border-radius: 5px;
max-width: 500px;
width: 100%;
margin: auto;
}
.my-alert {
@include 함수()
}
오류
위와 같이 Error: Node Sass version 5.0.0 is incompatible with ^4.0.0.이 뜬다면 아래와 같이 해결 가능하다.
$ npm uninstall node-sass
$ npm install node-sass@4.14.1
$ yarn start
차례대로 터미널에 쳐주면 해결된다.
마치면서
CSS를 작성할 때 SASS를 사용하면 코드의 양이 준다.
그리고 함수에 파라미터를 넣거나 반복문도 사용할 수 있고 여러가지 기능이 많다.
즉, SASS 문법을 사용하면 쉽고 짧게 CSS를 작성할 수 있으며
작성 뒤 node-sass라는 라이브러리를 통해 CSS로 컴파일해서 사용하면 된다.
'Front-end > CSS & SASS' 카테고리의 다른 글
[CSS] 우선순위 배치 Navbar 가장 최상단으로 올리기 (0) | 2021.05.12 |
---|---|
[CSS in JS] Styled-Components란? (0) | 2021.03.09 |
국비 CSS - 화면분할 (0) | 2020.09.17 |
국비 CSS - DB연동 (0) | 2020.09.15 |
국비 CSS - Selector (0) | 2020.09.14 |