[sass] sass(scss) 코딩 컨벤션
by 한만섭
널리 사용되는 sass코딩 컨벤션을 토대로 정리한 내용입니다.
1. 폴더 구조
root
ㄴ src
ㄴ scss
ㄴ common
ㄴ import
ㄴ * (선택)
ㄴ lib (선택)
ㄴ css
ㄴ img
ㄴ *.html
Root/src/
외에는 자유롭게 관리한다.
2. 파일 구조
scss
ㄴ 서비스명.scss
ㄴ common
ㄴ _base.scss
ㄴ _variables.scss
ㄴ _mixins.scss
ㄴ _placeholders.scss
ㄴ import
ㄴ _*.scss
ㄴ * (선택)
ㄴ lib (선택)
ㄴ _*.scss
common
_base.scss
: resetCSS 모음_vaiables.scss
: 변수 모음_mixins.scss
_placeholder.scss
: extend 모음
lib
- 외부 라이브러리 모음
3. 인코딩
@charset "UTF-8";
- 모든
scss
파일에charset
를 선언한다. - 컴파일 후에
charset
선언은 하나만 남게 되므로 여러 파일에서 작성해도 문제 없음. - 공백 없이 최 상단에 작성한다.
- 쌍따옴표를 사용한다.
4. 중첩
- 최대 3뎁스 중첩까지 사용하는 것 권장
5. 들여쓰기 및 선언 순서
- 중첩마다 들여쓰기
- 하위 선택자가 시작될 때마다 빈 줄 추가
extend
/include
를 최 상단에 모아 쓰고 빈 줄 추가- 재선언이 필요한 경우 뒤에 추가할 수 있다.
.foo {
//@extend, @include는 상단에 모아쓰고 그 뒤 빈 줄을 추가한다.
@extend %a;
@extend %b;
@include abc(n);
//속성 별 개행.
display: block;
overflow: hidden;
position: relative;
z-index: 10;
width: 100px;
margin: 0;
padding: 0;
border: 1px solid red;
background: red;
font-weight: bold;
letter-spacing: -1px;
text-decoration: underline;
//상황에 따라 하단에 위치할수도 있음.
@include bcd(n);
//하위 선택자가 시작될 때 빈 줄 추가.
.bar {
...
}
}
6. 띄어 쓰기
scss를 사용하는 이유는 가독성과 코드생산성을 높이기 위함이기 때문에 띄어쓰기를 권장합니다.
연산자와 연결자는 띄어쓰기해서 작성한다.
$height - ($width * 2)
.test > .child:after
7. 주석
- CSS에 컴파일되어야하는 주석은
/* */
로 표기 - 그 외의 주석은
//
으로 작성
8. 네이밍 규칙
// placeholer
$text_color
// mixin
@mixin testBox() {
}
// local Variables
$btn-color : #fff;
// Global Variables
$G-body-color : #fff;
9. mixin
- 인자 값을 필요로 할 때
mixin
사용
@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
-ms-border-radius: $radius;
border-radius: $radius;
}
.box {
@include border-radius(10px);
}
10 .extend
-
축약형 지양
%sp_enter { background-image: url($path-img + "sp_enter_10.png"); background-repeat: no-repeat; background-position: -999px -999px; }
Subscribe via RSS