qrac / musubii

Simple CSS Framework for JP
https://musubii.qranoko.jp
149 stars 6 forks source link

SCSS:CSS Variables適応機能を追加 #148

Closed qrac closed 5 years ago

qrac commented 5 years ago

本体とは別に、CSS Variablesを用いたバージョンを作成する。

qrac commented 5 years ago

コア設計にCSS Variablesを採用している例。

qrac commented 5 years ago

CSS Variablesのブラウザ対応状況は、IEがダメ。Android 4.4も標準ブラウザだと多分使えない。

qrac commented 5 years ago

IEに対応させるのであれば、ponyfillの css-vars-ponyfill が良さそうだった。レガシー判定してCSS Variablesの部分だけHeadにインラインスタイル書き出すような設定ができる。

qrac commented 5 years ago

コンパイルせずに使う例。

qrac commented 5 years ago

CSS Variablesをプロパティ値以外に使うのはダメ(メディアクエリなど)。

@media screen and (min-width: var(--screen-width-fablet)) {
  .section > .inner {
    width: var(--section-inner-width-fablet);
  }
}
qrac commented 5 years ago

SCSSの変数に組み込めるが、darkenなどの処理が通らなくなるため、処理後の静的な変数を用意しておく必要がある。

:hover {
  background-color: darken($value, 5%);
}
qrac commented 5 years ago

テストも兼ねてダークテーマを同封。

qrac commented 5 years ago

v7.0.0 alpha版にて実装完了。

qrac commented 5 years ago

_common-default.scss_common.scss にリネーム。

qrac commented 5 years ago

テーマ共通の値を _theme-initial.scss に保管。

qrac commented 5 years ago

カスタマイズの簡略化に伴い、大幅に構造を変更。 #163

qrac commented 5 years ago

この1年、実務ではCSS Variablesを使用する機会が少なかった。IE対応でポリフィルを使う頻度が増えるのは辛いので、デフォルトを false とし、SCSS変数で true 渡した時だけCSS Variablesを適応する。

qrac commented 5 years ago

v7.0.0から適応。