SCSS
■ 개념
SCSS란 매우 쉽게 말하자면 CSS를 편리하게 사용할 수 있도록 하며 추가 기능 또한 있는 확장판 스크립트 언어에요.
SCSS는 중첩, 변수 선언, 연산자 등 많은 장점이 있습니다. 그중에서도 가장 대표적인 장점으론 셀렉터 중첩기능이 있습니다.
▶셀렉터 중첩 기능 예시
//CSS 작성
nav ul {
margin: 0;
padding: 0;
list-style: none;
}
nav li {
display: inline-block;
}
nav a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
//같은 코드를 SCSS로 구현
nav {
ul {
margin: 0;
padding: 0;
list-style: none;
}
li { display: inline-block; }
a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
}
■ 장점
- CSS보다 심플한 표기법
- 가독성과 재사용성이 높아 유지보수가 쉽습니다.
- 다른 팀엄과의 작업시 수준차이를 평준화 할 수 있습니다.
- CSS의 태생적 한계를 보완하기 위해 유용한 기능, 도구(변수의 사용, 조건문과 반복문, 임포트...)을 제공한다.
- 선택자의 중첩을 통해 반복되는 부모요소 선택자 사용수를 줄일 수 있습니다.
- 반복문, 조건문 사용으로 동적 CSS
- 상속되는 선택자를 계층적 명시를 통해 불필요한 반복사용을 줄일 수 있습니다.
■ 단점
- 전처리기를 위한 도구가 필요합니다.
- 컴파일 시간이 소요됩니다.
■ 사용법
▶ 변수(Variables)
CSS에서도 변수선언은 가능하지만, SCSS에서는 더 간편하게 선언 및 사용이 가능합니다.
$color: #ed5b46;
$borderRadius: 5px;
div {
background-color: $color;
border-radius: $borderRadius;
}
▶ 중첩(Nesting)
셀렉터 중첩이나 속성 중첩 등 상위 요소를 참조하는 것이 가능합니다.
// 일반 CSS 코드
label {
padding: 3% 0px;
width: 100%;
cursor: pointer;
color: $colorPoint;
}
label:hover {
color: white;
background-color: $color8;
}
// SCSS 코드
label {
padding: 3% 0px;
width: 100%;
cursor: pointer;
color: $colorPoint;
&:hover {
color: white;
background-color: $color;
}
}
▶ 임포트(Import)
기존 CSS import와 기능이 같습니다. 활용도가 단순하고,확실합니다.
@import "common.scss";
.label {
height: 100%;
align-center: 100%;
}
'CSS' 카테고리의 다른 글
[CSS]CSS 기본 단위 : %, vh, vw, em, rem 등등 (5) | 2022.08.24 |
---|---|
이미지 스프라이트 기법과 백그라운드 표현방법, IR효과 (9) | 2022.08.21 |
애니메이션 효과 (8) | 2022.08.18 |
미디어 쿼리 (5) | 2022.08.14 |
CSS 기본 문법 (5) | 2022.08.13 |
댓글