ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Sass(SCSS) At-Rules #5[@each]
    CSS Preproseccor/Sass 2019. 5. 5. 19:45

    @each

      // 구문
      @each <변수> in <표현식> {...}

    블록은 지정된 변수 이름에 할당된 목록의 각 요소에 대해 차례로 평가된다.

    • SCSS

      $sizes: 40px, 50px, 80px;
      
      @each $size in $sizes {
        .icon-#{$size} {
          font-size: $size;
          height: $size;
          width: $size;
        }
      }
    • CSS

      .icon-40px {
        font-size: 40px;
        height: 40px;
        width: 40px;
      }
      
      .icon-50px {
        font-size: 50px;
        height: 50px;
        width: 50px;
      }
      
      .icon-80px {
        font-size: 80px;
        height: 80px;
        width: 80px;
      }

    with maps

    @each를 사용하여 mams의 모든 키/값 쌍을 반복하여 작성할 수 있다.

      // 구문
      @each <변수>, <변수> in <표현식> {...}

    키는 첫번째 변수 이름에 할당되고, 요소는 두번째 변수 이름에 할당됩니다.

    • SCSS

      $icons: ("eye": "\f112", "start": "\f12e", "stop": "\f12f");
      
      @each $name, $glyph in $icons {
        .icon-#{$name}:before {
          display: inline-block;
          font-family: "Icon Font";
          content: $glyph;
        }
      }
    • CSS

      @charset "UTF-8";
      .icon-eye:before {
        display: inline-block;
        font-family: "Icon Font";
        content: "\f112";
      }
      
      .icon-start:before {
        display: inline-block;
        font-family: "Icon Font";
        content: "\f12e";
      }
      
      .icon-stop:before {
        display: inline-block;
        font-family: "Icon Font";
        content: "\f12f";
      }

    Destructuring

    목록(list)의 목록(lists)가 있는 경우 @each를 사용하여 내부 목록의 각 값에 변수를 자동으로 할당할 수 있습니다. @each <변수...> in <표현식> {...} 변수가 내부 목록의 구조와 일치하기 때문에 이를 'Destructuring'라고 합니다. 각 변수 이름은 목록의 해당 위치에 있는 값에 할당되며, 목록에 충분한 값이 없으면 null로 지정됩니다.

    • SCSS

      $icons:
      "eye" "\f112" 12px,
      "start" "\f12e" 16px,
      "stop" "\f12f" 10px;
      
      @each $name, $glyph, $size in $icons {
        .icon-#{$name}:before {
          display: inline-block;
          font-family: "Icon Font";
          content: $glyph;
          font-size: $size;
        }
      }
    • CSS

      @charset "UTF-8";
      .icon-eye:before {
        display: inline-block;
        font-family: "Icon Font";
        content: "\f112";
        font-size: 12px;
      }
      
      .icon-start:before {
        display: inline-block;
        font-family: "Icon Font";
        content: "\f12e";
        font-size: 16px;
      }
      
      .icon-stop:before {
        display: inline-block;
        font-family: "Icon Font";
        content: "\f12f";
        font-size: 10px;
      }

    'CSS Preproseccor > Sass' 카테고리의 다른 글

    Sass(SCSS) Variables  (0) 2019.05.06
    Sass(SCSS) At-Rules #5[@for and @while]  (0) 2019.05.05
    Sass(SCSS) At-Rules #5[@if and @else]  (0) 2019.05.05
    Sass(SCSS) At-Rules #4[@extend]  (0) 2019.05.05
    Sass(SCSS) At-Rules #3[@function]  (0) 2019.04.29

    댓글

Designed by Tistory.