「SASS」「SCSS」の書き方

SCSS
スポンサーリンク

「SASS」「SCSS」の書き方

SASSはCSSをより、効率的にかける便利な記法らしい。

今まで、CSSしか使ってこなかったけど、SASSも使っていけるように学習し始めまたよ。

SASSは一般的にSCSSで書かれることの方が多いらしい。なので、SCSSについて書いていきます。

最初は①のネストだけでも、十分とのことでしたが少し他の使い方も記載しています。

まずはこの3つを学習してみることにしました。忘備録として、このブログにも書いておきます。

①ネストして使える

②変数をつかって作る

cssをパーツ化して作れる

ネストして使う

SCSSを下記の左のように記載すると、右のCSSのように勝手に反映されます。

下記で使っているのは①ネストと

②変数を使う③パーツ化する【@mixinや@include、($bgColor)など】

@mixin btn($bgColor){
    background: $bgColor;
    padding: 20px 10px;
    color: #fff;
}

.header {
    .logo {
        font-size: 12px;
    }
    .tagline {
        font-size: 14px;
    }
    .menu {
        ul {
            display: flex;
            li {
                font-size: 16px;
                border-right: 1px solid #ddd;
                padding: 0 10px;
                &.contact {
                    a {
                        @include btn(pink);
                    }
                }
                &.document {
                    a {
                        @include btn(skyblue);
                    }
                }
            }
        }
    }
}
.header .logo {
  font-size: 12px;
}

.header .tagline {
  font-size: 14px;
}

.header .menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header .menu ul li {
  font-size: 16px;
  border-right: 1px solid #ddd;
  padding: 0 10px;
}

.header .menu ul li.contact a {
  background: pink;
  padding: 20px 10px;
  color: #fff;
}

.header .menu ul li.document a {
  background: skyblue;
  padding: 20px 10px;
  color: #fff;
}
/*# sourceMappingURL=style.css.map */

変数を使う

②変数をつかう。 @mixinと@includeを使った、レスポンシブ の作り方

@mixin desktop {
    @media (min-width:600px) {
        @content;
    }
}

h1 {
    font-size: 2rem;
    @include desktop {
        font-size: 5rem;
        margin-bottom: 100px;
    }
}
h1 {
  font-size: 2rem;
}

@media (min-width: 600px) {
  h1 {
    font-size: 5rem;
    margin-bottom: 100px;
  }
}

②変数をつかう。 @mixinと@includeを使った、レスポンシブ の作り方

@mixin mq($width: 680px) {
    @media only screen and (max-width: $width) {
        @content;
    }
}

img {
    @include mq {
        margin: 0;
    }
}
@media only screen and (max-width: 680px) {
  img {
    margin: 0;
  }
}

パーツ化して使う

③パーツ化して使う グラーデーションカラーの箇所

@mixin gradient-color($color1: pink, $color2: plum ) {
    background: linear-gradient($color1, $color2);
}
.box {
    @include gradient-color(skyblue, gold )
}
.title {
    @include gradient-color;
}
.box {
  background: -webkit-gradient(linear, left top, left bottom, from(skyblue), to(gold));
  background: linear-gradient(skyblue, gold);
}

.title {
  background: -webkit-gradient(linear, left top, left bottom, from(pink), to(plum));
  background: linear-gradient(pink, plum);
}

SCSSを書くための拡張機能 【vs codeエディタの場合】

SCSSを書くためには、環境設定が必要になります。なので、設定してない場合はこちらを最初にする必要があります。といっても、すぐできる簡単な作業です。

「Live Sass Compiler」の拡張機能をインストールします。

一番左下の歯車の設定から、

設定 > 拡張機能 > 検索ボックスに

「Live Sass Compiler」検索して、インストールします。

(そうすると、画面下に「Watch Sass」ができます。「Watch Sass」クリックすると、自動でSCSSで書いた内容が、CSSに反映されます。コンパイルされます。)

※ちなみにSCSSファイルがない状態では「Watch Sass」は表示されません。もし表示されない場合は、歯車から→拡張機能→「Live Sass Compiler」へいって、有効になっているか確認してください。

※「Live Server」も便利な拡張機能なので、一緒にインストールしてください。

(画面下の「Go Live」をクリックすると、自動でブラウザに最新が反映されます。)

SCSSを書くために必要なファイル

index.html / style.scss

とりあえず、この2つのファイルがあればできます。保存すると必要なcssが自動でできます。

タイトルとURLをコピーしました