Sass를 사용해야할 일이 생길것 같아 미리 공부해보려고 글을 작성해봅니다.
Sass는 CSS 전처리기로 SCSS, Less, Stylus 등이 더 존재합니다. 이 CSS 전처리기들은 기존의 CSS 보다 더 나은 가독성과 유지보수를 편리하게 만들어주는 도구로 생각하면 좋습니다.
기존의 CSS는 중복될 수 있는 코드 작성이 가능하기 때문에 유지보수의 불편함이 생길 수 있습니다. 그러므로 이런 부분들을 해소시켜주는 SASS와 SCSS를 사용하면 좋습니다.
그리고 마지막에는 전처리 도구로 작성한 코드들은 CSS파일로 변환해서 사용하게 됩니다.
CSS
.wrap{
width: 200px;
height: 200px;
}
.wrap .inner{
color: #fff;
border: 1px solid #000;
}
SASS
.wrap
width: 200px
height: 200px
.inner
color: #fff
border: 1px solid #000
SCSS
.wrap{
width: 200px;
height: 200px;
.inner{
color: #fff;
border: 1px solid #000;
}
}
대략 비슷해 보이지만 CSS/SASS/SCSS의 다른 점은 있습니다. 우선 SASS의 기본적인 기능들에 대해서 알아보겠습니다.
1. 변수선언
SASS의 변수 선언은 아래와 같습니다.
$main-color : #B980F0;
.box1 {
background-color: $main-color;
}
글로벌 변수와 로컬 변수가 있는데 괄호 안에 작성할 경우 로컬 변수라고 생각하면 된다.
2. 연산자(calc)
.wrap{
width: 500px - 100px;
height: (500px / 2);
}
기존 CSS에서는 calc(200px - 100px); 로 해야함
3. 선택자 중첩
.wrap{
position: relative;
width: 100vw;
height: 100vh;
.box{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
&:hover{
background-color: #eee;
}
}
}
부모 요소안에 자식 요소를 중첩해서 작성이 가능하다. 스파게티코드를 방지해줍니다. & 기호를 사용해 hover와 after/before 사용