ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Sass(SCSS) 기본 공부 2 변수
    HTML5_CSS3/sass 2023. 4. 6. 00:45
    반응형

    Sass/SCSS 공부 2

    Sass(SCSS) 기본 공부 1 https://raim-2.tistory.com/17

     

    Sass(SCSS) 기본 공부 1

    *나나님의 아무튼 Sass 시리즈 + W3school 을 보고 공부합니다. CSS 전처리기 자신만의 문법을 가지고, CSS 생성하도록 하는 프로그램 CSS의 단점인 단순 반복 등을 보완하기 위해 생긴 프로그램 정규 CS

    raim-2.tistory.com

     

    Sass/SCSS 변수 (variables)

     

    Sass에서는 반복적으로 사용되는 값을 변수로 사용이 가능하다.

    변수는 $기호를 사용해 선언할 수 있다.

    변수의 값으로는 문자열, 숫자, 불리언, 색상, null  등 다양한 값을 담을 수 있다.

    변수는 CSS로 컴파일하면, CSS 파일에 보이지 않는다.

     

    //$변수명 : 속성값;
    $txt_color:#fff;
    
    h1 {color: $txt_color}

     

    *컴파일 시

    h1 {
      color: #fff;
    }

     

    1. 변수의 유효범위

    변수 역시 유효범위를 갖는다. 선언된 블록 내에서만 유효범위를 갖게 된다.

     

    $txt_color: #fff;
    
    h1 {
        $txt_color: blue; /*h1 태그 내 동일 변수명으로 할당*/
        $my_size : 18px; 
        color: $txt_color; /*새로운 지역변수 선언 및 할당*/
        font-size: $my_size;
    }
    
    div.bg {
        color: $txt_color;
        font-size: $my_size;
    }

     

    h1 내에서 값 blue가 할당된 변수 $txt_color는 블록 내에서 설정되었기 때문에

    블록 밖인 .bg에서는 전역으로 선언된 값 #fff를 갖는다.

    또한, h1 내에서 선언한 변수는 h1이 아닌 다른 태그 내에서 사용하면 오류가 발생한다.

     

    *컴파일 시

    h1 {
      color: blue;
      font-size: 18px;
    }
    
    div.bg {
      color: #fff;
      font-size: // 오류 발생!
    }

     

    2. 변수 유효범위 - 전역 설정 !global 플래그

    !global 플래그를 사용하면, 유효범위를 전역으로 설정할 수 있다.

     

    $txt_color: #fff;
    
    h1 {
        $txt_color: blue !global;
        color: $txt_color;
    }
    
    div.bg {color: $txt_color;}

    * 컴파일 시

    h1 {
      color: blue;
    }
    
    div.bg {
      color: blue;
    }

     

    3. 변수  !default 플래그

    !default 플래그는 변수의 초기값을 설정한다. 값이 할당되어 있는 경우, 기존의 할당 값을 사용한다.

    👉 변수와 값을 설정하나, 기존 변수가 있는 경우 현재 설정하는 변수의 값은 사용하지 않는다는 뜻

     

    $txt_color: #fff;
    
    h1 {
        $txt_color: blue !default;
        color: $txt_color;
    }
    
    div.bg {color: $txt_color;}

    * 컴파일 시

    h1 {
      color: #fff;
    }
    
    div.bg {
      color: #fff;
    }

     

    4. 변수 재할당

    Sass의 변수는 재할당 시, 이전의 값을 바꿔주지 않는다.

     

    $txt_color: #fff;
    $font_size : 18px; 
    
    h1 {
        color: $txt_color;
        font-size : $font-size;
    }
    
    $txt_color: yellow;
    div.bg {color: $txt_color;}

    * 컴파일 시

    h1 {
      color: #fff; /* 이전에 할당한 값은 재할당한 값으로 바뀌지 않음 */
      font-size: 18px; /* -과 _의 구분을 두지 않음 */ 
    }
    
    div.bg {
      color: yellow;
    }

     

    5. #{} 문자보간

    변수를 지정하고, 그 변수를 값으로 할당할 수 있다는 것은 위에서 확인했고,

    문자열이나 선택자,  선언된 속성의 이름 등에 변수를 사용 시, #{} 보간과 함께 변수를 사용해야 한다.

     

    $bg_color : background-color; //보간법 사용해서 쓰기 #{$bg_color}
    $name: 'main';
    
    div.bg {#{$bg_color}: pink; background-image: url("/imgs/#{$name}.jpg")}

    * 컴파일 시

    div.bg {
      background-color: pink;
      background-image: url("/images/main.jpg");
    }

     

    *참고사이트

    https://sass-lang.com/documentation/interpolation

    https://www.w3schools.com/sass/sass_variables.php#

    'HTML5_CSS3 > sass' 카테고리의 다른 글

    Sass(SCSS) 기본 공부 3 중첩  (0) 2023.04.06
    Sass(SCSS) 기본 공부 1  (0) 2023.04.05

    댓글

Designed by Tistory.