이번에는 SCSS를 사용할 때 참조할 수 있도록 치트 시트를 정리 소개하도록 하겠습니다.
Sass란?
"Syntactically Awesome StyleSheet"의 약자로, CSS를 효율적으로 기술할 수 있도록 설계·개발된 Ruby제의 CSS메타언어
Sass 공식 사이트SCSS 기법이란?
SCSS 기법이란 Sass 쓰는 방법 중 하나로 Sass에는 SCSS 기법과 SASS 기법이 있으며, SCSS 기법이 CSS와 호환성이 있기 때문에 사용되는 경우가 많다. 확장자는 .scss한다.
중첩 구조
중첩 구조
중첩 구조 (HTML과 같은 형태)에 설명
div{
p{
color: red;
}
}
상위 선택기 참조
상위 선택기의 이름을 참조하고 설명
a{
&:hover{
color: red;
}
}
네임스페이스 중첩
CSS에서 네임 스페이스로 기술하는 것 (font-family 등)을 중첩 구조로 기술
div{
font:{
family: sans-serif;
}
}
변수
변수
자주 사용하는 값을 변수로 정리
$color: red;
p{
color: $color;
}
배열 변수
자주 사용하는 값을 배열 변수로 정리
$color: red, green, blue;
p{
color: nth($color, 1);
}
$margin: (sp: 10px, pc: 20px);
p{
margin: map-get($margin, pc);
}
그룹 변수
자주 사용하는 스타일 정리
@mixin max-screen($screen-size) {
@media screen and (max-width: $screen-size) {
@content;
}
}
p{
@include max-screen(560px){
font-size: 14px;
}
}
상속
가져오기
분할된 SCSS 파일 가져오기
@import "basic";
상속
다른 곳에서 사용한 스타일 상속
.item{
color: red;
}
.item2{
@extend .item;
}
문법
조건 분기
조건에 따라 스타일 변경
$position: left;
.item{
@if $position == 'left'{
position: absolute;
left: 0;
}@else{
position: relative;
}
}
반복
스타일 반복
@for $i from 1 through 3{
.item-#{$i}{
font-size: 10px * $i;
}
}
반복 (배열 변수)
배열 변수를 사용한 반복
$colors: red, green, blue;
@each $color in $colors{
.item-#{$color}{
color: $color;
}
}
연산・색
연산
스타일 내에서 연산
p{
font-size: 30px / 1.5;
}
텍스트의 조합
스타일 내에서 문자열 조인
$hello: 'Hello';
$world: 'World';
p::before{
content: $hello + $world;
}
밝기 조정
기본 색상의 밝기를 조정
$color: red;
h1{
color: lighten($color, 40%);
}
p{
color: darken($color, 40%);
}
채도 조정
기본 색상 채도 조정
$color: red;
h1{
color: saturate($color, 40%);
}
p{
color: desaturate($color, 40%);
}
투명도 조정
기본 색상의 투명도 조정
$color: red;
p{
color: rgba($color, .8);
}
색조 조정
기본 색상의 색조 조정
$color: red;
h1{
color: adjust-hue($color, 30deg);
}
색상 보색 및 반전
베이스 색상의 보색 또는 반전
$color: red;
h1{
color: complement($color);
}
p{
color: invert($color);
}
색을 섞다
베이스 색상(2개)을 혼합
$color1: yellow;
$color2: red;
h1{
color: mix($color1, $color2, 50%);
}
기타
코멘트 아웃
댓글 남기기
// 한줄
/*
복수줄
*/
따옴표 붙이기
문자열 따옴표("") 붙여넣기
$number: "10";
h1::before{
content: quote(Hello World);
}
p{
margin: unquote($number) + px;
}
큰 텍스트 및 작은 텍스트
문자열의 대문자 or 소문자화
$text1: "hello";
$text2: "HELLO";
h1::before{
content: to-upper-case($text1);
}
p::before{
content: to-lower-case($text2);
}
절대값을 반환
숫자의 절대값을 반환
h1{
font-size: abs(-18px);
}
반올림 반환
숫자 반올림 반환
h1{
font-size: ceil(15.4px);
}
자르기 반환
숫자 자르기 반환
h1{
font-size: floor(17.5px);
}
반올림을 반환
숫자의 반올림을 반환합니다.
h1{
font-size: round(18.3px);
}
p{
font-size: round(12.5px);
}