CSSファイルの種類
lism-css パッケージは、用途に応じて複数のビルド済みCSSを同梱しています。読み込むファイルを差し替えるだけで、@layer のオン / オフや「全部入り」ビルドへ切り替えられます。通常は main.css を使い、必要なときだけほかのファイルに切り替えてください。
| ファイル | 内容 |
|---|---|
lism-css/main.css |
標準ビルド(@layer あり) |
lism-css/main_no_layer.css |
@layer なし版 |
lism-css/full.css |
全部入りビルド(@layer あり / CSS Purge 併用前提) |
lism-css/full_no_layer.css |
全部入りビルドの @layer なし版 |
@layer をオフにする
lism-css/main.css の代わりに lism-css/main_no_layer.css を読み込むだけで、@layer をオフにできます。読み込むCSSファイルを切り替えるだけで、ほかの設定は不要です。
@layer なし版は、既存サイトや WordPress テーマなど、カスケードを自分で制御できない環境での利用を想定しています。レイヤーで優先順位を付けられないぶん、次の方法で main.css と同じ「Property Class > Utility Class > 単一クラス」の序列を再現しています。
| クラス | @layer なし版での出力 |
詳細度 |
|---|---|---|
Property Class(-p:20 など) |
常に !important 付き |
0-1-0 + !important |
Utility Class(u--trim / u--trimAll / u--cbox) |
セレクタを二重化(.u--trim.u--trim) |
0-2-0 |
| 上記以外のクラス | main.css と同じ |
- |
そのため、@layer なし版では次の点に注意してください。
- Property Class と同じプロパティを
style属性や JavaScript で指定しても、Property Class が勝ちます。値を変えるにはクラス自体を付け替えてください(-pのようにCSS変数で値を受け取るクラスは、--pの書き換えでも変えられます)。 u--クラスを自分の CSS で上書きするには、.u--trim.u--trim以上の詳細度が必要です。lism.config.jsのdefaultImportant: falseや SCSS の$default_important: 0を指定しても、@layerなし版では!importantは外れません。propsの個別設定important: 0も同様に無視されます。
全部入りビルド(full.css)を使う
lism-css/main.css の代わりに lism-css/full.css を読み込むと、デフォルトでは出力されないクラスまで含めた「全部入り」のビルドを利用できます。
import 'lism-css/full.css'; // @layer なし版は 'lism-css/full_no_layer.css'full.css には、main.css の内容に加えて以下が含まれます。
- 変数出力専用(
isVar系=クラスを出力せず CSS変数だけを出すプロパティ)と border ショートハンド系(bdとbd-xなどの方向指定)を除く、全 Property Class のブレイクポイント対応クラス(-ta_lgなど) - border サブプロパティ
bds/bdcのブレイクポイント対応クラス(bdwはmain.cssでも対応済み)。border のブレイクポイント対応は、ショートハンドではなくサブプロパティで行います - カラー系 Property Class(
bgc/c/bdc)の全カラートークン分のクラス(-bgc:redなど)。main.cssでは厳選したセマンティックカラーとkeycolorだけがクラス化されますが、full.cssではパレットカラーを含む全トークンが対象になります
そのぶんCSSサイズは main.css より大きくなるため、未使用のクラスをビルド時に削除する CSS Purge との併用を推奨します。
full.css を読み込むだけでは、コンポーネント側の出力は変わりません(例: t="20" はインラインスタイルとして出力されます)。コンポーネントの出力も full.css に合わせるには、lism.config.js の isFullMode を有効にしてください。