SASS에서 @for 지시어

@for 지시어를 사용하면 카운터 변수로 지정된 수만큼 특정 스타일을 출력할 수 있습니다. @for의 첫 번째 작성 방식은 다음과 같습니다:

scss@for $var from (begin) through (end)

이 경우 (begin)과 (end) 값이 범위에 명확히 포함됩니다. (begin)과 (end)는 정수를 반환해야 하며, 이는 카운트 방향을 설정하기 때문입니다. 즉, (begin)이 (end)보다 작으면 카운터는 증가하고, 반대의 경우에는 감소합니다.

다음 예제에서 첫 번째 구문 방식의 @for 지시어 작동을 살펴보겠습니다:

styles.scss@for $count from 1 through 5 {
  .li-#{$count} {
    width: $count + px;
  }
}

컴파일 결과:

styles.css.li-1 {
  width: 1px; 
}
.li-2 {
  width: 2px; 
}
.li-3 {
  width: 3px; 
}
.li-4 {
  width: 4px; 
}
.li-5 {
  width: 5px; 
}

두 번째 작성 방식은 다음과 같습니다:

scss@for $var from (begin) to (end)

여기서는 (end) 값이 제외됩니다.

이전 예제를 가져와 두 번째 방식으로 작성해 보겠습니다:

styles.scss@for $count from 1 to 5 {
  .li-#{$count} {
    width: $count + px;
  }
}

이제 결과 코드를 확인해 보세요:

styles.css.li-1 {
  width: 1px; 
}

.li-2 {
  width: 2px; 
}

.li-3 {
  width: 3px; 
}

.li-4 {
  width: 4px; 
}
Задание 1

다음 코드의 컴파일 결과가 어떻게 될지 설명해 보세요:

styles.scss@for $var from 5 through 1 {
  li-#{$var} {
    padding: 10 * $var + px;
  }
}
Задание 2

다음 코드의 컴파일 결과가 어떻게 될지 설명해 보세요:

styles.scss@for $var from 1 to 3 {
  .navbar-link-#{$var} {
    color: blue;
    width: 10px * $var;
  }
}