CSSプロセッサの単一の最良の機能の1つは変数です。一度宣言してプロジェクト全体で変数を再利用する機能を持つことは、どのシステムでもオプションではありません。
プリプロセッサを使う セスティ (私たちの記事でもっと調べてください SASSとは何ですか? あなたがただのものを早く構築したいだけなら(本当に速く構築するには、試してみるために、少なくとも1つの追加のビルドステップを与えます。 ウェブサイトビルダー )。テーブルの暗い日がハックして以来、CSSは長い道のりを起こしているので、最も有用な側面の1つを調べましょう。カスタムプロパティ。
あなたの人生を楽にするより多くのツールのために、これらを参照してください。 ウェブホスティング サービスと クラウドストレージ オプション。または読んで、簡単な例で始まります。
:ルート{
--color-red:#FC4752;
}
■ナビゲーション{
背景色:var( - カラーレッド);
}
・ite-footer {
色:var( - カラーレッド);
the :ルート 疑似セレクタは、DOM内の最上位の親要素をターゲットにし、すべての要素にアクセスする - 赤色 。はい、CSS変数の定義は次のとおりです - そして、あなたはそれらにどこにでもアクセスすることができます var() 。まあ、私たちの下にカスケードされている場所 :ルート セレクタ。
withう var() フォールバック値を定義することもできます。これは、指定された変数が到達不能またはクラスに存在しない場合に使用されます。
.SITEナビゲーション{
背景色:var( - カラーレッド、レッド);
値はDOMから継承されます。つまり、それらをより具体的にすることができます。
:ルート{
- 赤色;
}
■ナビゲーション{
- 彩:緑。
背景色:var( - color);
}
・ite-footer {
色:var( - color);
every var( - 色) ごく除いて赤です var( - 色) 下 サイトナビゲーション 。一般的に言えばは、すでに定義されている値を上書きする理想的な方法ではありませんが、スコープ値がまだ最も適切な解決策である場合があります。
これらは基本ですが、もう少しすることができます。に有用な例 レスポンシブウェブデザイン ビューポートのサイズに基づいてレイアウトを変更しています。
:ルート{
--color-red:#FC4752;
--flex-layout:行;
}
@media(最大幅:640px){
:ルート{
--flex-layout:列;
}
}
■ナビゲーション{
表示:Flex;
Flex方向:var( - フレックスレイアウト、行);
背景色:var( - カラーレッド、レッド);
}
・ite-footer {
色:var( - カラーレッド);
640pxの下でメディアクエリがトリガーされ、Site-Navigationクラスの列へのFlex方向を変更し、デフォルトの水平(行)の代わりにそのコンテンツ垂直(列)を実行します。この例では、サイトナビゲーションに与えられたデフォルト変数のために、初期を必要としない :ルート の定義 --flex-layout; 代わりに、実際には直線に進むでしょう。
これはクールですが、それはまだすべての楽しさとゲームではありません。たとえば、メディアクエリは要素ではないため、ブレークポイント値はカスタムプロパティから取得できません。 CSS Working Groupには、使用のドラフトがあります env() クエリのために、ベンダーの実装と適切なサポートはおそらく今日のものから何年もあります。
大丈夫。私たちは今持っているものに固執します。カスタムプロパティのもう1つの高度なユースケースはスイッチングテーマです。ベーステーマを定義し、その周囲にあなたのウェブサイトを構築して、ブラウザが重いリフティングをして、切り替えるだけです。そしてそれはそれほど重くありません。
基本的に、Twitterの夜のモードの行に沿っていることを考えてくださいが、実際にはCSSを切り替えていなくても(私はあなたに会いました)。
< main>
< NAV CLASS = "サイトナビゲーション">
入力色の選択された値は文書の代わりに置き換えられます - 色 価値、ヒッチなしで変更を行います。ブレンドモード、アルファチャンネルの色、またはPNG - 無限の可能性と楽しさで遊ぶことができます。
今すぐあなたの将来証明CSSが第三者の開発者には依存せず、カスタムプロパティのみを使用していますが、あなたがカバーされ、生産をキックスタートする準備ができている良い機会があります。
しかし、コード内の変数以外のものが欲しいなら、CSSモジュールと言ってみましょう。今日の時点で、モジュールやネスティングのような既存のCSSの機能の場合、追加のビルドステップをスペアすることはできませんでしたが、ベンダーが仕様に追いつくときにコードを書き直さなければならないという甘い約束で実装することができます。
あなたの出力を改善するたびにあなたのCSSをリファクタリングする代わりに、最初の場所でそのような方法でコードを作成する必要があります。これは、事前プロセッサとポストプロセッサ間の主な違いです。プリプロセッサは実際に(基本的にはテキストファイルから)CSSを書き込みますが、ポストプロセッサはもう有効なCSSをより多くのブラウザサポートに合わせて、後者はプロセスでより柔軟になります。
ネイティブメソッドを使用すると、常に回避策を勝ち取り、将来のテクノロジに関する認識を実現することがCSSを学習するときにできる最良の位置です。
この記事はもともと発行306に発行されました ネット Webデザイナーや開発者向けの世界で最も売れている雑誌。 ここでネットを購読する 。
関連記事:
(画像クレジット:アレックスブレイク/ Facebook) Facebookのプライバシー設定は、パラ�..
動物園、動物や野生生物を勉強してきたことは常に私にとって大きな情熱を感じています、そして私は彼らを塗ることに決して疲れません。�..