CSSカスタムプロパティの完全なガイド(変数)
CSSカスタムプロパティ(CSS変数)は、重複したCSS値を置き換え、トピックスイッチング、コンポーネント分離、およびレスポンシブデザインを実装する、ネイティブ、動的、JavaScript-操作可能なスタイルの値です。 1。var()関数(バックグラウンドカラー:var( - プライマリカラー)など)でそれらを呼び出すroot(-primary-color:#3498dbなど)のグローバル変数の定義を宣言します。 2。カスケードと継承をサポートし、コンポーネントまたはメディアクエリ(@media modified -gapなど)で上書きすることができます。 3. javascript(document.documentelement.style.setproperty( ' - プライマリカラー'、 'hotpink'など)を介して動的に更新でき、トピックの切り替え、ユーザーの好みの設定、アニメーションの相互作用に適しています。 Kebabケースを使用して名前を付け、代替値(var( - テキスト、黒など)を提供する)に注意し、円形の参照を避けてください。
CSSカスタムプロパティ(多くの場合、CSS変数と呼ばれる)は、スタイルシート全体で値を保存および再利用できる強力な機能です。プリプロセッサ変数(SASSのような)とは異なり、それらはCSSのネイティブであり、動的であり、JavaScriptで操作できます。 CSSで同じ色または間隔の値を何十回も繰り返したことがあるなら、カスタムプロパティがソリューションです。
基本から高度なユースケースまで、知っておくべきすべてのものがあります。
cssカスタムプロパティとは何ですか?
カスタムプロパティは、ダブルダッシュ( --
)プレフィックスを使用して宣言されます。
:根 { -Primary-Color:#3498db; - 間隔:1rem; }
-
:root
グローバル変数を定義するのに最適な場所です(すべての要素に適用されます)。 -
var()
関数を使用してそれらにアクセスします:
。ボタン { バックグラウンドカラー:var( - プライマリカラー); パディング:var( - 間隔); }
彼らは、通常のCSSプロパティと同様に、カスケードと継承であり、コンポーネントまたはメディアクエリごとにそれらをオーバーライドできます。
?なぜそれらをSASS/LESS変数で使用するのですか?
特徴 | SASS変数 | CSSカスタムプロパティ |
---|---|---|
動的更新 | ❌NO | ✅はい(JSまたは:hover を介して) |
カスケード/継承 | ❌NO | ✅はい |
スコープ制御 | ❌ファイルレベルのみ | ✅要素レベル |
ランタイムの変更 | compile-timeのみ | ✅リアルタイム |
例:ボタンでテーマを変更してJSでクリックします。
document.documentelement.style.setProperty( ' - プライマリカラー'、 'hotpink');
?インスタントビジュアルアップデート - 再コンパイルは必要ありません。
?実際のユースケース
1。テーマの切り替え
テーマ値を保存します:root
、次にそれらをオンデマンドに交換します:
:根 { -BG:#ffff; - テキスト:#333; } [data-theme = "dark"] { -BG:#222; - テキスト:#f5f5f5; } 体 { 背景:var( - bg); 色:var( - テキスト); }
JSを介してトグル:
document.body.dataset.theme = 'dark';
2。コンポーネントレベルの変数
再利用可能なコンポーネントのスタイルを分離します:
.card { - カードパッジング:1.5rem; - カードボーダー:1PX SOLID #DDD; パディング:var( - カードパッジング); 境界線:var( - カードボーダー); }
これで、各.card
インスタンスは、他の人に影響を与えることなく、独自のパディングや境界線をオーバーライドできます。
3。レスポンシブデザイン
メディアクエリを使用して変数を変更します。全体のルールではありません。
:根 { -gap:1rem; } @media(min-width:768px){ :根 { -GAP:2REM; } } .grid { ギャップ:var( - ギャップ); / *自動的に更新 */ }
ブレークポイントごとにすべてのgap
宣言を書き換えるよりもクリーナー。
⚠️一般的な落とし穴とヒント
変数が未定義の場合に備えて、常にフォールバックを提供します。
色:var( - テキスト、ブラック); / *ブラックif -textが設定されていない */
カメルケースなし- ケバブケースに焦げ付く(
--main-color
ではなく、--mainColor
)。円形の参照を避けてください- これは壊れます:
-a:var( - b); -B:var( - a); /*?無限ループ */
アニメーションで使用しますか?はい - しかし、プロパティが補間をサポートしている場合のみ(
opacity
、display
はなく)。
?ショ和ボーナス:JavaScript統合
カスタムプロパティを簡単に読み取り、書き込みます:
// 読む getComputedStyle(document.documentelement) .getPropertyValue( ' - プライマリカラー'); // 書く document.documentelement.style.setProperty( ' - プライマリカラー'、 'パープル');
これを使用してください:
- ユーザー設定(テーマ、フォントサイズ)
- A/BテストUIバリアント
- JSで値をアニメーション化する(例えば、Parallelax Effects)
それでおしまい!
CSSカスタムプロパティは、ドライコードだけでなく、動的、保守可能な、インタラクティブなスタイルを有効にします。小さく起動:繰り返し色または間隔の値を交換します。次に、完全なテーマまたはレスポンシブロジックにスケールアップします。
ビルドステップはありません。依存関係はありません。ちょうど近代的なネイティブCSS。
以上がCSSカスタムプロパティの完全なガイド(変数)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

表示されていない画像は、通常、ファイルパスの間違ったパス、ファイル名または拡張機能、HTML構文の問題、またはブラウザキャッシュによって引き起こされます。 1. SRCパスがファイルの実際の位置と一致していることを確認し、正しい相対パスを使用します。 2.ファイル名のケースと拡張機能が正確に一致するかどうかを確認し、URLに直接入力して画像をロードできるかどうかを確認します。 3.IMGタグ構文が正しいかどうかを確認し、冗長文字がなく、ALT属性値が適切であることを確認してください。 4.ページを強制的に更新するか、キャッシュをクリアするか、Incognitoモードを使用してキャッシュ干渉を排除してください。この順序でのトラブルシューティングは、ほとんどのHTML画像表示の問題を解決できます。

semantichtmlimprovesbothseoandaccessibilityを使用することはできません

html5parsershandlemalformedhtmlbyfollowingadEticalgorithmtoensureconsentandroburtendering.1.formismatchedorunclosedtags、the parserautagetally closeStagsAndAddjustsnestingSnestingSnestingStingSneStingStingStingStingStagSassandJustrising ontext

html5dataattributesarecustom、validhtmlattributesusedTostoreExtrainformationinelements forjavasdatorcss.1.theyReadefinedassdata-*属性、Likedata-user-id = "123" .2.theyallowembembembedprivate

Schema.orgタグは、セマンティックタグ(アイテムスコープ、アイテムタイプ、アイテムプロップなど)を使用して、検索エンジンがWebページコンテンツの構造化データ形式を理解するのに役立ちます。カスタム語彙を定義するために使用できます。方法には、既存のタイプの拡張や追加のタイプを使用して新しいタイプの導入が含まれます。実際のアプリケーションでは、構造を明確に保ち、公式の属性の使用を優先し、コードの妥当性をテストし、カスタムタイプにアクセスできるようにします。予防策には、部分的なサポートの受け入れ、綴りエラーの回避、JSON-LDなどの適切な形式の選択が含まれます。

HTML5キャンバスのマウスイベントを正しく処理するには、最初にイベントリスナーをキャンバスに追加し、次にキャンバスと比較してマウスの座標を計算し、幾何学的検出を介して描画されたオブジェクトと相互作用するかどうかを判断し、ドラッグアンドドロップなどのインタラクティブモードを実現します。 1. AddEventListenerを使用して、キャンバス用のMousedown、Mousemove、Mouseup、Mouseleaveイベントをバインドします。 2。getBoundingClientRectメソッドを使用して、ClientX/ClientyをCanvasに関連する座標に変換します。 3.手動の幾何学的計算(長方形の境界や円の距離式など)を介してマウスを検出します)

HTML5オーディオ形式のサポートは、ブラウザごとにブラウザまでさまざまです。最も一般的に使用される形式には、1.mp3(.mp3、audio/mpeg、すべての主流ブラウザーがサポートし、最高の互換性を備えています)が含まれます。 2.wav(.wav、audio/wav、より良いが大きなファイル、短いオーディオに適したサポート); 3.ogg(.ogg/.oga、audio/ogg、chrome、firefox、opera support、safari、ieはサポートされていません。 4.AAC(.AAC/.M4A、Audio/AAC、Safari、Chrome、Edge Support、Firefoxサポートは限られており、Appleデバイスでよく使用されます)。互換性を確保するために、

違いの明確で実用的な説明を提供できるように、versus、vs、またはidなど、比較したい2つのHTML5要素または属性を明確にしてください。
