Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sass Life

Avatar for saeka saeka
December 07, 2020

Sass Life

Sassをもっと知りたい人のためのスライド

Avatar for saeka

saeka

December 07, 2020

More Decks by saeka

Other Decks in Programming

Transcript

  1. Partials [ ファイル分割(Sass ) ] _variables.sass _header.sass _footer.sass style.sass →

    → COMPILE COMPILE → → IMPORT IMPORT style.css ※パーシャルファイル(_[ファイル名].sass )はCSS にコンパイルされません
  2. Chrome DevTools Network [ 読み込み速度の⽐較 ] CSS import Sass import

    & compile 全部読み込み終わるまで34ms 全部読み込み終わるまで28ms の⽅がソースの読み込みが早い!
  3. Modules [ 部品 ] 2019/10 - Dart Sass Ver 1.23.0

    - header.scss header.sass _variables.sass _variables.scss header.css → USE → → COMPILE COMPILE
  4. 2022年10⽉にサポートが終了する予定 Roles [ それぞれの役割 ] @import ・同じファイルを読み込んだ分展開される  ・読み込む変数が全てグローバルになる @use ・同じファイルを何回呼ばれても処理は⼀回 ・名前空間を持たせることができる

    ・プライベートメンバーが使える (関数等を使⽤するファイルを限定できる) NEW @forward ・他のモジュールを呼びつつ  新しいAPIをエクスポートできる   (ライブラリ製作者は嬉しいらしい) NEW
  5. Mixins [ 使いまわせるCSS ] → → COMPILE COMPILE → →

    IMPORT IMPORT header.css _mixin.sass header.sass @mixin は=に省略可 @import は+に省略可
  6. Functions [ 関数 ] → → COMPILE COMPILE → →

    IMPORT IMPORT header.sass header.css _function.sass
  7. Roles [ それぞれの役割 ] @include ・使いまわすCSS にいろいろなパターン(引数)を持たせることができる ・@media 内で@include の使⽤ができる

    @extend ・ピュアなCSS だけを継承させたいときに使う(パターン化はできない) ・@media 内では@extend は使⽤できない 個⼈的には@include の⽅が使い勝⼿がいいです
  8. Comparison [ ⽐較 ] SCSS ・CSS と同じ書き⽅({})なので学習コストは安く済む ・CSS と同じ書き⽅({})なのでネストの際にわかりやすい(かもしれない) ・ネストしすぎると{}の数が膨⼤になるので⾒た⽬がカオス

    ・{}さえあればインデントガタガタでも動いてしまうので  (整形ツール無しだと)ソースが汚くなりやすい ・{}と;は毎回書かないといけないのでコーディングスピードは落ちる ・使⽤案件数は圧倒的Sass よりは多い、記事も多い
  9. Comparison [ ⽐較 ] Sass ・rubyの記法に似ている({}の代わりにインデントを使⽤する)ので  学習コストはSCSS よりかかる ・慣れてしまえば爆速コーダーの⼀員です。ようこそ ・ネストしてもインデントなので⾒た⽬がすっきり(詳細度関係ない条件式のお話)

    ・結構厳しめのルール設定なので治安が保たれる  (インデントおかしいとエラー, セミコロンの後に半⾓スペース必要) ・インデントでHTML を書けるPug との相性は抜群 ✨