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
Tweet

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 との相性は抜群 ✨