「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が自動でできます。
  
  
  
  
