Service Portal SCSS Primer

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 11분
  • SCSS is a subset of the Syntactically Awesome StyleSheets (Sass) specification and is an extension of CSS. Every valid CSS style sheet is valid SCSS.

    SCSS variables

    SCSS variables are a way to store information that you want to reuse throughout your style sheet. You can store things like colors, font stacks, or any CSS value you think you want to reuse. SCSS uses the $ symbol to make something a variable.

    SCSS supports the follow data types:

    • Numbers (including units)
    • Strings (with quotes or without)
    • Colors (name, or names)
    • Booleans

    Variables can also be arguments to or results from one of several available functions or mixins. During translation, the values of the variables are inserted into the output CSS document.

    For example:
    $font-stack:    Helvetica, sans-serif;
    $primary-color: #333;
    
    body {
      font: 100%$font-stack;
      color: $primary-color;
    }

    For more information on Sass, see the Sass/SCSS reference.

    SCSS functions

    List of functions for Service Portal SCSS compiler.

    RGB functions

    Function Description
    rgb($red, $green, $blue) Creates a Color from red, green, and blue values.
    rgba($red, $green, $blue, $alpha) Creates a Color from red, green, blue, and alpha values.
    red($color) Gets the red component of a color.
    green($color) Gets the green component of a color.
    blue($color) Gets the blue component of a color.
    mix($color1, $color2, [$weight]) Mixes two colors together.

    HSL functions

    Function Description Availability
    hsl($hue, $saturation, $lightness) Creates a Color from hue, saturation, and lightness values. Yes
    hsla($hue, $saturation, $lightness, $alpha) Creates a Color from hue, saturation, lightness, and alpha values. Yes
    hue($color) Gets the hue component of a color. Yes
    saturation($color) Gets the saturation component of a color. Yes
    lightness($color) Gets the lightness component of a color. Yes
    adjust-hue($color, $degrees) Changes the hue of a color. Yes
    lighten($color, $amount) Makes a color lighter. Yes
    darken($color, $amount) Makes a color darker. Yes
    saturate($color, $amount) Makes a color more saturated. Yes
    desaturate($color, $amount) Makes a color less saturated. Yes
    grayscale($color) Converts a color to grayscale. Yes
    complement($color) Returns the complement of a color. No
    invert($color) Returns the inverse of a color. No

    Opacity functions

    Function Description Availability
    alpha($color) Gets the alpha component (opacity) of a color. Yes
    opacity($color) Gets the alpha component (opacity) of a color. Yes
    rgba($color, $alpha) Changes the alpha component for a color. Yes
    opacify($color, $amount) Makes a color more opaque. No
    fade-in($color, $amount) Makes a color more opaque. No
    transparentize($color, $amount) Makes a color more transparent. No
    fade-out($color, $amount) Makes a color more transparent. No

    Other color functions

    Function Description Availability
    adjust-color() Increases or decreases one or more components of a color. Yes
    scale-color() Fluidly scales one or more properties of a color. Yes
    change-color() Changes one or more properties of a color. No
    ie-hex-str() Converts a color into the format understood by IE filters. No

    String functions

    Function Description Availability
    unquote($string) Removes quotes from a string. Yes
    quote($string) Adds quotes to a string. Yes
    str-length($string) Returns the number of characters in a string. No
    str-insert($string, $insert, $index) Inserts $insert into $string at $index. No
    str-index($string, $substring) Returns the index of the first occurrence of $substring in $string. No
    str-slice($string, $start-at, [$end-at]) Extracts a substring from $string. No
    to-upper-case($string) Converts a string to upper case. No
    to-lower-case($string) Converts a string to lower case. No

    Number functions

    Function Description Availability
    percentage($number) Converts a unitless number to a percentage. Yes
    round($number) Rounds a number to the nearest whole number. Yes
    ceil($number) Rounds a number up to the next whole number. Yes
    floor($number) Rounds a number down to the previous whole number. Yes
    abs($number) Returns the absolute value of a number. Yes
    min($numbers…) Finds the minimum of several numbers. Yes
    max($numbers…) Finds the maximum of several numbers. Yes
    random([$limit]) Returns a random number. No

    List functions

    Lists in SCSS are immutable. All list functions return a new list rather than updating the existing list in-place.

    All list functions work for maps as well, treating them as lists of pairs.

    Function Description
    length($list) Returns the length of a list.
    nth($list, $n) Returns a specific item in a list.
    set-nth($list, $n, $value) Replaces the nth item in a list.
    join($list1, $list2) Joins two lists into one.
    append($list1, $val) Appends a single value onto the end of a list.
    zip($lists…) Combines several lists into a single multidimensional list.
    index($list, $value) Returns the position of a value within a list.
    list-separator($list) Returns the separator of a list.

    Adding custom functions

    Scss @function my-calculation-function($some-number, $another-number){ @return $some-number + $another-number }

    SCSS nesting

    SCSS lets you nest your CSS selectors in a way that follows the same visual hierarchy of your HTML.

    For example:
    nav {
      ul {
        margin: 0;
        padding: 0;
        list-style: none;
      }
    
      li { display: inline-block; }
    
      a {
        display: block;
        padding: 6px 12px;
        text-decoration: none;
      }
    }
    The ul, li, and a selectors are nested inside the nav selector, which is a great way to organize your CSS and make it more readable. When the widget is rendered, the generated CSS looks something like the following code block:
    nav ul {
      margin: 0;
      padding: 0;
      list-style: none;
    }
    
    nav li {
      display: inline-block;
    }
    
    nav a {
      display: block;
      padding: 6px 12px;
      text-decoration: none;
    }

    For more information on Sass, see the Sass/SCSS reference.

    SCSS operators

    SCSS has a handful of standard math operators like +, -, *, /, and %.

    Use simple math to calculate widths for an aside & article. For example:
    .container { width: 100%; }
    
    article[role="main"] {
      float: left;
      width: 600px / 960px * 100%;
    }
    
    aside[role="complementary"] {
      float: right;
      width: 300px / 960px * 100%;
    }
    The generated CSS looks like:
    .container {
      width: 100%;
    }
    
    article[role="main"] {
      float: left;
      width: 62.5%;
    }
    
    aside[role="complementary"] {
      float: right;
      width: 31.25%;
    }

    For more information on Sass, see the Sass/SCSS reference.

    SCSS mixins

    A mixin lets you make groups of CSS declarations that you want to reuse throughout your site. You can pass in values to make your mixin more flexible.

    The following code block is an example for border-radius.
    @mixin border-radius($radius) {
      -webkit-border-radius: $radius;
         -moz-border-radius: $radius;
          -ms-border-radius: $radius;
              border-radius: $radius;
    }
    
    .box { @include border-radius(10px); }
    The generated CSS looks like:
    .box {
      -webkit-border-radius: 10px;
      -moz-border-radius: 10px;
      -ms-border-radius: 10px;
      border-radius: 10px;
    }

    For more information on Sass, see the Sass/SCSS reference.