目次
cssカスタムプロパティとは何ですか?
?なぜそれらをSASS/LESS変数で使用するのですか?
?実際のユースケース
1。テーマの切り替え
2。コンポーネントレベルの変数
3。レスポンシブデザイン
⚠️一般的な落とし穴とヒント
?ショ和ボーナス:JavaScript統合
ホームページ ウェブフロントエンド H5 チュートリアル CSSカスタムプロパティの完全なガイド(変数)

CSSカスタムプロパティの完全なガイド(変数)

Aug 01, 2025 am 05:58 AM

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); /*?無限ループ */
  • アニメーションで使用しますか?はい - しかし、プロパティが補間をサポートしている場合のみ( opacitydisplayはなく)。


?ショ和ボーナス:JavaScript統合

カスタムプロパティを簡単に読み取り、書き込みます:

 // 読む
getComputedStyle(document.documentelement)
  .getPropertyValue( ' - プライマリカラー');

// 書く
document.documentelement.style.setProperty( ' - プライマリカラー'、 'パープル');

これを使用してください:

  • ユーザー設定(テーマ、フォントサイズ)
  • A/BテストUIバリアント
  • JSで値をアニメーション化する(例えば、Parallelax Effects)

それでおしまい!
CSSカスタムプロパティは、ドライコードだけでなく、動的、保守可能な、インタラクティブなスタイルを有効にします。小さく起動:繰り返し色または間隔の値を交換します。次に、完全なテーマまたはレスポンシブロジックにスケールアップします。

ビルドステップはありません。依存関係はありません。ちょうど近代的なネイティブCSS。

以上がCSSカスタムプロパティの完全なガイド(変数)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ホットトピック

なぜ私の画像がHTMLに表示されないのですか? なぜ私の画像がHTMLに表示されないのですか? Jul 28, 2025 am 02:08 AM

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

SEOとアクセシビリティのセマンティックHTMLの重要性 SEOとアクセシビリティのセマンティックHTMLの重要性 Jul 30, 2025 am 05:05 AM

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

HTML5パーサーはエラーをどのように処理しますか? HTML5パーサーはエラーをどのように処理しますか? Aug 02, 2025 am 07:51 AM

html5parsershandlemalformedhtmlbyfollowingadEticalgorithmtoensureconsentandroburtendering.1.formismatchedorunclosedtags、the parserautagetally closeStagsAndAddjustsnestingSnestingSnestingStingSneStingStingStingStingStagSassandJustrising ontext

HTML5データ属性とは何ですか? HTML5データ属性とは何ですか? Aug 06, 2025 pm 05:39 PM

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

html5 schema.orgマークアップを使用してカスタム語彙を定義します。 html5 schema.orgマークアップを使用してカスタム語彙を定義します。 Jul 31, 2025 am 10:50 AM

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

HTML5キャンバスでマウスイベントを処理する方法は? HTML5キャンバスでマウスイベントを処理する方法は? Aug 02, 2025 am 06:29 AM

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

HTML5でサポートされているオーディオ形式は何ですか? HTML5でサポートされているオーディオ形式は何ですか? Aug 05, 2025 pm 08:29 PM

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デバイスでよく使用されます)。互換性を確保するために、

HTML5のとの違いは何ですか? HTML5のとの違いは何ですか? Aug 04, 2025 am 11:02 AM

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

See all articles