CSSカスタムプロパティ(変数)は、しばしば見落とされがちな強力なスコーピング機能を提供します。この記事では、効率的で動的なスタイリングのためにこのパワーを活用する方法について説明します。
基本的なCSS変数の使用法(例: --size: 1em; font-size: var(--size);
)に精通しているかもしれませんが、それらの潜在能力はスコーピング能力にあります。これにより、大幅なコード削減とメンテナンスが容易になります。
実用的なアプリケーションを調べてみましょう。
スコープスタイル:ボタンの例
プライマリボタンとセカンダリボタンのスタイリングを検討してください。従来のアプローチには、各ボタンタイプとそのさまざまな状態(ホバー、アクティブ)の個別のスタイルが含まれる場合があります。これにより、繰り返しコードが発生します。
スコープ変数を使用して、ベースボタンスタイルを定義し、異なるボタンタイプの色相のみを変更できます。
。ボタン { パディング:1REM 1.25REM; 色:#fff; font-weight:bold; フォントサイズ:1.25rem; マージン:1rem; 遷移:バックグラウンド0.1秒の容易さ。 背景:HSL(var( - hue)、100%、50%); アウトラインカラー:HSL(var( - hue)、100%、80%); } .button:hover {background:hsl(var( - hue)、100%、40%); } .button:Active {background:hsl(var( - hue)、100%、30%); } .button - primary { - hue:233; } .button - secondary { - hue:200; }
これにより、コードが大幅に削減され、メンテナンスが簡素化されます。ベースの変更.button
スタイルすべてのバリアントを自動的に更新します。さらに、HTMLに変数を直接インラインにして、さらに柔軟性を高めることができます。
<button class="button" style="--hue: 20;">オーバーライド</button>
インライン変数を備えた動的アニメーション
たとえば、パグやJavaScriptなどのテンプレートエンジンを使用して、カスタムプロパティを動的生成と組み合わせると、実際のパワーが輝いています。これにより、ランダムなインライン変数割り当てが可能になり、各要素に一意のアニメーションが作成されます。
例:「興奮」ボタン
微妙に浮かんでから、ホバーで「シェイク」するボタンを作成しましょう。各アニメーションの個別のキーフレームを定義する代わりに、変数を使用して、単一のキーフレーム定義内のアニメーション動作を制御します。
。ボタン { -Y:-25; -x:0; - 回転:0; - スピード:2; アニメーション:Flow-and-Shake Calc(var( - speed) * 1s)無限の容易さ。 } .button:hover { - speed:.1; -X:1; -Y:-1; - rotation:-1; } @keyframes flow-and-shake { 0%、100%{変換:翻訳(calc(var( - x) * -1%)、calc(var( - y) * -1%))回転(calc(var( - 回転) * -1deg)); } 50%{変換:翻訳(calc(var( - x) * 1%)、calc(var( - y) * 1%))回転(calc(var( - 回転) * 1deg)); } }
このアプローチは、必要なキーフレーム定義の数を大幅に削減し、よりクリーンで保守可能なコードにつながります。
例:ランダムバブル
これに基づいて、複数のアニメーション化されたバブルを備えたシーンを作成できます。それぞれが、スコープCSS変数を通じて制御されるランダム化プロパティ(サイズ、位置、アニメーション速度など)を備えています。これにより、可変スコープと動的コンテンツ生成を組み合わせる力が示されます。
要約すると、CSSカスタムプロパティとそのスコーピング機能を効果的に利用すると、コードが大幅に少ない動的で複雑なスタイルを作成できるため、保守性と効率が向上します。提供された例は、静的要素とアニメーション化された要素の両方でこれを達成する方法を示しています。
以上がCSSカスタムプロパティを使用したスコープのパワー(および楽しい)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

先日、この質問がありました。私の最初の考えは、奇妙な質問です!特異性はセレクターに関するものであり、アットレールはセレクターではないので、...無関係ですか?

はい、あなたはできます、そしてそれは本当にどの順序で重要ではありません。 CSSプリプロセッサは必要ありません。通常のCSSで動作します。

CSSやJavaScript(および画像とフォントなど)などのアセットにファーアウトキャッシュヘッダーを確実に設定する必要があります。それはブラウザを伝えます

多くの開発者は、CSSコードベースを維持する方法について書いていますが、そのコードベースの品質をどのように測定するかについて多くの人が書いていません。確かに、私たちは持っています

短い任意のテキストを受け入れるために必要なフォームを持っていたことがありますか?名前などのように。それはまさにそのためのものです。たくさんあります

私は、フロント会議のためにスイスのチューリッヒに向かうことにとても興奮しています(その名前とURLが大好きです!)。私はこれまでスイスに行ったことがないので、興奮しています

ソフトウェア開発における私のお気に入りの開発の1つは、サーバーレスの出現です。詳細に行き詰まる傾向がある開発者として

この投稿では、私が構築して展開して展開してネットライフを使用して、着信データの動的ルートを作成する方法を示すeコマースストアのデモを使用します。それはかなりです


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
