概要:
先ほどはlessの変数と拡張構文を紹介しましたが、今日は混合属性(Mixin)について勉強します。ミキシングは、less のもう 1 つの機能と言えます。共通のプロパティを一緒に定義し、使用するときにこのミキシング プロパティを直接呼び出すことができます。
ミキシング:LESS では、いくつかの共通の属性セットをセレクターとして定義し、これらの属性を別のセレクターで呼び出すことができます。 例:
.a, #b { color: red;}.mixin-class { .a();}.mixin-id { #b();}
コンパイル後
.a, #b { color: red;}.mixin-class { color: red;}.mixin-id { color: red;}
注: を呼び出すとき。混合する場合は、括弧を含めても含めなくても構いません。次のものも正しいです:
.a, #b { color: red;}.mixin-class { .a;}.mixin-id { #b;}
ミックスを定義するだけの場合は、次のようにセレクターの後に括弧を追加できます:
.my-mixin { color: black;}.my-other-mixin() { background: white;}.class { .my-mixin; .my-other-mixin;}
コンパイル後に、brackets.my-other を追加します。 -mixin() はコンパイルされません。
.my-mixin { color: black;}.class { color: black; background: white;}
CSS クラス、ID、または要素属性セットは、同じ方法でユニバーサル セレクター内に導入できます。
名前空間:
より複雑なセレクターで属性を混合したい場合は、複数の ID またはクラスをスタックできます。以下のように:
#outer { .inner { color: red; }}
この混合属性を使用したい場合は、次の 4 つが同等です。
.c{ #outer > .inner;}.c{ #outer > .inner();}.c{ #outer.inner;}.c{ #outer.inner();}
を避けるために、混合属性を ID の下に定義できます。他のミックスと競合します。
Keyword ! important:
混合属性を使用した後に ! important キーワードを追加すると、混合内のすべての属性がキーワード ! important とともに追加されます。例:
.foo (@bg: #f5f5f5, @color: #900) { background: @bg; color: @color;}.unimportant { .foo(1);}.important { .foo(2) !important;}
Compiled
.unimportant { background: #f5f5f5; color: #900;}.important { background: #f5f5f5 !important; color: #900 !important;}
パラメータとの混合:
混合プロパティでは、次のように括弧を介してパラメータを渡すこともできます:
.border-radius(@radius) { -webkit-border-radius: @radius; -moz-border-radius: @radius; border-radius: @radius;}
使用するときに渡すだけです次のように、パラメータを 1 つだけ指定します。
rrree
もちろん、パラメータにデフォルト値を指定して、使用時に値を渡すかどうかを指定することもできます。以下のように:
#header { .border-radius(4px);}.button { .border-radius(6px);}
値を渡さない場合は、デフォルト値の 5px が使用されます。
もちろん、次のように複数のパラメータを渡すこともできます:
.border-radius(@radius: 5px) { -webkit-border-radius: @radius; -moz-border-radius: @radius; border-radius: @radius;}
コンパイル後
.mixin(@color) { color-1: @color;}.mixin(@color; @padding:2) { color-2: @color; padding-2: @padding;}.mixin(@color; @padding; @margin: 2) { color-3: @color; padding-3: @padding; margin: @margin @margin @margin @margin;}.some .selector div { .mixin(#008000);}
コンパイル結果からわかるように、less には関数のオーバーロードの機能もあります。同じミックス属性名を異なるパラメーターで定義し、 .mixin(#008000); を呼び出すと、最初と 2 番目のミックスは両方とも一致しますが、3 番目のミックスにはパラメーター @padding の値がないため、3 番目のミックスは一致します。属性は参照されません。
次のように複数の値を渡すだけでなく、属性名を指定して値を渡すこともできます:
.some .selector div { color-1: #008000; color-2: #008000; padding-2: 2;}
Keyword @arguments:
@arguments には特別な意味があり、js の引数と同様に、すべてが含まれます混合属性に渡されるパラメータは次のとおりです:
.mixin(@color: black; @margin: 10px; @padding: 20px) { color: @color; margin: @margin; padding: @padding;}.class1 { .mixin(@margin: 20px; @color: #33acfe);}.class2 { .mixin(#efca44; @padding: 40px);}
Compiled
.box-shadow(@x: 0; @y: 0; @blur: 1px; @color: #000) { -webkit-box-shadow: @arguments; -moz-box-shadow: @arguments; box-shadow: @arguments;}.big-block { .box-shadow(2px; 5px);}
Keyword @reset:
@arguments とは異なり、@reset には指定されたパラメータ以外のパラメータが含まれます。例:
。
.big-block { -webkit-box-shadow: 2px 5px 1px #000; -moz-box-shadow: 2px 5px 1px #000; box-shadow: 2px 5px 1px #000;}
パターン マッチング:
場合によっては、渡したパラメータに基づいてミックスインに次のような異なる処理を実行させたいことがあります。
.mixin(@a; @rest...) { // @rest包含了@a之后的参数 // @arguments包含了所有参数}
コンパイル後
.mixin(dark; @color) { color: darken(@color, 10%);}.mixin(light; @color) { color: lighten(@color, 10%);}.mixin(@_; @color) { display: block;}.class { .mixin(@switch; #888);}
関数として Mixin を使用する:
mixin を関数として使用する場合、関数を呼び出した後、変数は、 mixin 属性を呼び出す要素は、同じ変数自体を定義します。例:
@switch: light;
コンパイル後
.class { color: #a2a2a2; display: block;}
次の式を使用します:
.mixin() { @width: 100%; @height: 200px;}.caller { .mixin(); width: @width; height: @height;}
コンパイル後
rrリー

ブール属性は、値なしでアクティブ化されるHTMLの特別な属性です。 1.ブール属性は、無効化された入力ボックスを無効にするなど、存在するかどうかによって、要素の動作を制御します。 2.彼らの実用的な原則は、ブラウザが異なっているときに属性の存在に応じて要素の動作を変更することです。 3.基本的な使用法は、属性を直接追加することであり、高度な使用法はJavaScriptを介して動的に制御できます。 4.一般的な間違いは、値を設定する必要があると誤って考えており、正しい執筆方法は簡潔にする必要があります。 5.ベストプラクティスは、コードを簡潔に保ち、ブールのプロパティを合理的に使用して、Webページのパフォーマンスとユーザーエクスペリエンスを最適化することです。

HTMLコードは、オンラインバリデーター、統合ツール、自動化されたプロセスを使用するとクリーンになります。 1)w3cmarkupvalidationserviceを使用して、HTMLコードをオンラインで確認します。 2)リアルタイム検証のためにVisualStudiocodeにhtmlhint拡張機能をインストールして構成します。 3)HTMLTIDYを使用して、建設プロセスでHTMLファイルを自動的に検証およびクリーニングします。

HTML、CSS、およびJavaScriptは、最新のWebページを構築するためのコアテクノロジーです。1。HTMLはWebページ構造を定義します。2。CSSはWebページの外観に責任があります。

HTMLの機能は、Webページの構造とコンテンツを定義することであり、その目的は、情報を表示するための標準化された方法を提供することです。 1)HTMLは、タイトルやパラグラフなどのタグや属性を使用して、Webページのさまざまな部分を整理しています。 2)コンテンツとパフォーマンスの分離をサポートし、メンテナンス効率を向上させます。 3)HTMLは拡張可能であり、カスタムタグがSEOを強化できるようにします。

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

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

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

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

ホットトピック









