国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
キーテイクアウト
ユースケース1:複製
クリーナーhtmlクラス
時(shí)間と労力を節(jié)約します
ホームページ ウェブフロントエンド CSSチュートリアル SASSの@Extendを介した継承の利點(diǎn)

SASSの@Extendを介した継承の利點(diǎn)

Feb 22, 2025 am 10:07 AM

SASSの@Extendを介した継承の利點(diǎn)

キーテイクアウト

  • SASSの@ExtEnd機(jī)能により、クラスはプロパティを互いに共有し、CSSスタイルシートの組織を簡(jiǎn)素化し、大規(guī)模なWebサイトを効果的にスタイリングできるようにすることができます。
  • @extend機(jī)能は、CSSスタイルシートの重複を減らし、HTMLクラスをよりクリーンにし、開(kāi)発者の時(shí)間と労力を節(jié)約し、CSS構(gòu)造をより整理し、維持しやすくすることができます。 ただし、 @Extendを使用する場(chǎng)合は、CSSファイルサイズと影響力を不注意に使用すると劇的に増加させる可能性があるため、注意が払われます。継承されたクラスが継承されているオブジェクトに直接関係している場(chǎng)合にのみ使用する必要があります。
  • SASSは、CSSの貴重な拡張機(jī)能であり、よりクリーンで十分に構(gòu)造化され、開(kāi)発と保守が容易になります。以前に試したことがない人にはお?jiǎng)幛幛筏蓼工?、潛在的な落とし穴を避けるために慎重に使用する必要があります?
  • CSSスタイルシートの編成は、大規(guī)模なWebサイトを効果的にスタイリングするために重要になっていますが、プロジェクトのスタイルシートは、開(kāi)発に伴い、より大きく、複雑で、維持がより困難になっています。これは、すべてをよりシンプルにするためにSASSが入ってくる場(chǎng)所です。
  • まだSASSを探索していない人にとっては、CSSの延長(zhǎng)です。式、変數(shù)、ネスト、ミキシン(機(jī)能のSASSの名前)、継承などのネイティブCSSには存在しない機(jī)能を提供します。 この記事では、 @Extendを使用してSASSの継承の概要を説明します。この機(jī)能がもたらす利點(diǎn)と、自分のプロジェクトでそれを使用するときの私の経験をカバーします。 @extendは悪用される可能性があることに注意することが重要です。HugoGiraudelはSitePointで、Sass @extendを避けるべき理由についても書いています。したがって、@extendは論爭(zhēng)のある主題になる可能性があることに注意してください。 Atozを見(jiàn)る:Sass 手紙でサスの手紙を?qū)Wびます
  • このコースをご覧ください このコースをご覧ください
  • 次の例では、SCSS構(gòu)文を使用します。これは、SASSの追加機(jī)能を備えたCSSのすべての機(jī)能と構(gòu)造を含む構(gòu)文です。
  • @extendとは?

@extendは、クラスが互いに一連のプロパティを共有できるようにするSASSの機(jī)能です。 SASSのクラスを伸ばすセレクターは、セレクターが拡張されているクラスのすぐ隣に含まれているため、コンマ分離リストになります。

その構(gòu)文はそうです:

使用法

SASSの@Extendを介した継承の利點(diǎn) @extendを使用すると、次のようになります:

これは次のようにコンパイルされています

上記の例では、次の機(jī)能を備えた.fooと.barを定義しました。

  • .barは.fooから継承し、親クラスのすべてのプロパティを含む.foo。
  • .barは、プロパティバックグラウンドカラーを追加して.fooを拡張します
基本を知って、@extendのいくつかのユースケースを見(jiàn)ていきます。

@extend

を使用しています

ユースケース1:複製

クラス間のプロパティの重複は、CSSをまとめるときに回避するのが困難です。これにより、スタイルシートがより複雑になります。たとえば、

上記の例でわかるように、。ブレイクファースト、.Lunch、および.Dinnerには、同じ?jìng)帳违抓恁靴匹%椹`、ボーダー、ボックスシャドウ、マージン、パディングが含まれています。これらのプロパティは複製されているため、コードが亂雑に見(jiàn)えるため、@extendで書き直しましょう。

上記の書き換えられたCSSでは、SASSを使用することで、マークアップがCSSだけよりもクリーンになるのに役立つことがわかります。

codepenのSitePoint(@sitepoint)によるSCSSのプロパティのペンの複製を參照してください。
<span><span>@extend .class-name;</span></span>
ケース2:HTML

から複數(shù)のクラスを移動(dòng)します

あるクラスが別のクラスのすべてのスタイルを持っている必要がある場(chǎng)合、ページを設(shè)計(jì)する場(chǎng)合、多くの場(chǎng)合があります。 HTMLで複數(shù)のクラス名を使用することにより、このケースをよく処理します。
<span><span>.foo</span> {
</span>  <span>color: black;
</span>  <span>border: 1px solid black;
</span><span>}
</span>
<span><span>.bar</span> {
</span>  <span><span>@extend .foo;</span>
</span>  <span>background-color: red;
</span><span>}</span>
私たちのcssはそうするでしょう:

そのcssのhtml:

上記の例では、
に2つのクラスがあります。いくつかのクラスがあった場(chǎng)合、これがどれほど厄介であるか想像してみてください:

上記のHTMLコードは非常に複雑になる可能性があります。一部のWeb開(kāi)発者はこの方法でそれを好みますが、私は私のSASSスタイルでの継承を好みます:

私たちのHTMLが今のように見(jiàn)えます:

<span><span>.foo, .bar</span> {
</span>  <span>color: black;
</span>  <span>border: 1px solid black;
</span><span>}
</span>
<span><span>.bar</span> {
</span>  <span>background-color: red;
</span><span>}</span>
今回は1つのクラスのみが必要です。クラス用に定義されているすべてのスタイルは、クラス.Strawberry-Candyにも適用されます。これで、HTMLコードはクリーナーになりました。 codepenで@extend(@sitepoint)で@extendを使用してHTMLから複數(shù)のクラスを移動(dòng)するペンを參照してください。

ケース3:複雑なセレクターを拡張

<span><span>.breakfast</span> {
</span>  <span>color: #333;
</span>  <span>border: 1px solid #bbb;
</span>  <span>box-shadow: 1px 1px 0 #ddd;
</span>  <span>margin: 0 0 10px;
</span>  <span>padding: 15px;
</span><span>}
</span>
<span><span>.lunch</span> {
</span>  <span>background-color: yellow;
</span>  <span>color: #333;
</span>  <span>border: 1px solid #bbb;
</span>  <span>box-shadow: 1px 1px 0 #ddd;
</span>  <span>margin: 0 0 10px;
</span>  <span>padding: 15px;
</span><span>}
</span>
<span><span>.dinner</span> {
</span>  <span>background-color: orange;
</span>  <span>color: #333;
</span>  <span>border: 1px solid #bbb;
</span>  <span>box-shadow: 1px 1px 0 #ddd;
</span>  <span>margin: 0 0 10px;
</span>  <span>padding: 15px;
</span><span>}</span>
クラスセレクターは、拡張できる唯一のものではありません。また、複雑なセレクターを、A:Hover、.ParentClass.Childclassなど、単一の要素に拡張することもできます。たとえば、

<span><span>.meal-box</span> {
</span>  <span>color: #333;
</span>  <span>border: 1px solid #bbb;
</span>  <span>box-shadow: 1px 1px 0 #ddd;
</span>  <span>margin: 0 0 10px;
</span>  <span>padding: 15px;
</span><span>}
</span>
<span><span>.breakfast</span> {
</span>  <span><span>@extend .meal-box;</span>
</span><span>}
</span>
<span><span>.lunch</span> {
</span>  <span><span>@extend .meal-box;</span>
</span>  <span>background-color: yellow;
</span><span>}
</span>
<span><span>.dinner</span> {
</span>  <span><span>@extend .meal-box;</span>
</span>  <span>background-color: orange;
</span><span>}</span>
これは次のようにコンパイルされています

このようにhtmlで使用できる

<span><span>.candy</span> {
</span>  <span>background-color: black;
</span>  <span>border: 1px solid red;
</span>  <span>box-shadow: 1px 1px 0 #ddd;
</span>  <span>padding: 15px;
</span><span>}
</span>
<span><span>.strawberry-candy</span> {
</span>  <span>background-color: #ff6666;
</span>  <span>color: white;
</span><span>}</span>
<span><span><span><div</span> class<span>="candy strawberry-candy"</span>></span>
</span>  This is the strawberry candy!
<span><span><span></div</span>></span></span>
codepenで@extend(@sitepoint)で@extendを使用して複雑なセレクターを拡張するペンを參照してください。

@extend

の利點(diǎn) 上記の例を歩いている

@extendを介して継承のいくつかの利點(diǎn)を見(jiàn)ることができます。これらには次のものが含まれます

クリーナーhtmlクラス

2番目のケーススタディでわかるように、1つの要素で非常に多くのクラスを使用すると、問(wèn)題が発生した場(chǎng)合に根本原因を判斷することが難しくなる場(chǎng)合があります。 HTMLタグの構(gòu)造もあまり見(jiàn)栄えが良くてきれいではありません。

私の観點(diǎn)からは、優(yōu)れた製品を作るとき、エンドユーザーの視點(diǎn)だけでなく、開(kāi)発戦略の質(zhì)も考慮しています。したがって、@extendは、各HTML要素內(nèi)でよりクリーンな方法でクラスを構(gòu)成するのに役立ちます。 CSSの重複の減少

Web開(kāi)発では、CSSスタイル內(nèi)に常に複製があります。したがって、書かれたCSSソースコードを再利用することは非常に必要です。 @Extendは、CSSが適切でクリーンである場(chǎng)合に再利用するのに役立ちます。

時(shí)間と労力を節(jié)約します

前述の2つの利點(diǎn)により、開(kāi)発者は開(kāi)発中に時(shí)間と労力を節(jié)約できます。

開(kāi)発者はさまざまな要素のCSSを再利用でき、CSSの問(wèn)題の根本原因を見(jiàn)つけるために必要な努力を減らし、CSS構(gòu)造を素晴らしくクリーンにすることができます。 ただし、 @Extendを使用することには危険がないわけではありません。上記の利點(diǎn)は、@extendが慎重に使用されている場(chǎng)合にのみ適用されます。逆の効果を引き起こす可能性があります。

@extend

の危険

自分のプロジェクトで@extendを適用しましたが、@extendを使用する際には注意の言葉を提供する必要があります。注意する必要があります。

@extendは、CSSファイルのサイズを大幅に増やし、注意せずに使用するとCSSのパフォーマンスに影響を與える可能性があります。私はこのような狀況で痛みの割合を持っていて、@ExtEndのSASSの使用に多くの時(shí)間を費(fèi)やしました。 @extendを最初に使用した方法の例は次のとおりです。

例:

は次のようにコンパイルされています

この例では、.base-cssは、それに基づいた多くの継承クラスを持つクラスです。この例を見(jiàn)ると、継承されたクラスが互いに関係していないことがわかります。ボタン用の.btnとフッター用のフッターがあります。 .base-cssから100のクラスが継承されている場(chǎng)合、.base-css特性を持つセレクターが増加します。これは、CSSの最終結(jié)果を大幅に不必要に複雑にします。さらに、これにより、各セレクターのプロパティを確認(rèn)することがより困難になります。

SASSを再除去した後、継承されたクラスが継承しているオブジェクトに直接関係している場(chǎng)合にのみ @Extendを使用する必要があることに気付きました。多くの無(wú)関係な要素のブランケットルールではなく、オブジェクトまたはスタイルのバリエーションである必要があります。上記の私の例のような継承については、CSSの既存の機(jī)能に頼って、スタイルを子供の要素にカスケードする必要があります。

は次のようにコンパイルされています
<span><span>@extend .class-name;</span></span>

上記の例がはるかに正確で合理的であることがわかります。オブジェクトの種類のバリエーションであるために互いに継承すべきクラスにのみ @Extendを適用することにより、スコープを削減しました。たとえば、上記のスタイルはすべて、さまざまな種類のボタンに関連しています。

結(jié)論

SASSは、CSSを改善して、よりクリーンで、十分に構(gòu)造化され、整理され、開(kāi)発と保守を簡(jiǎn)単にすることができる貴重な拡張機(jī)能です。以前にSASSを試したことがない場(chǎng)合は、強(qiáng)くお?jiǎng)幛幛筏蓼埂?SASSの基本にもっと慣れているときは、Sassの @Extendについて誰(shuí)もあなたに言ったことに関するHugo GiraudelのSitePointの記事を読むことをお?jiǎng)幛幛筏蓼?。また、SitePointのSASSリファレンスにSASSリファレンスガイド全體があり、探索する例がたくさんあります。

この投稿の最初のバージョンでエラーを受け取ってくれたコメントで、スティーブとエゼキエルに感謝します。その後、更新されました。 ??はい、sassのネストされたルール內(nèi)で@extendを使用できます。ただし、拡張セレクターは、ネストされたルール內(nèi)ではなく、スタイルシートの上部レベルに挿入されることに注意することが重要です。これは、SASSがすべてのセレクターがドキュメントのトップレベルにある必要があるというCSSルールに従っているためです。 ??>このエラーは、SASSのルールセットの外部で@extendを使用しようとすると発生します。このエラーを回避するには、ルールセット內(nèi)で@extendを使用していることを確認(rèn)してください。たとえば、「@extend .class;」を書く代わりに、「.new-class {@extend .class; }”。

sassの擬似クラスで@extendを使用できますか?ただし、 @Extendは、擬似クラス自體ではなく、擬似クラスのスタイルのみを拡張することに注意することが重要です。これは、「@extend:hover;」を使用する場(chǎng)合、セレクターにホバーエフェクトを追加するのではなく、代わりに次のスタイルを拡張することを意味します。 SASSで動(dòng)作していませんか?

@extendがSASSで機(jī)能していない理由がいくつかあります。一般的な理由の1つは、拡張しようとしているセレクターが同じファイルに存在しないことです。もう1つの理由は、SASSでは許可されていないメディアクエリまたはネストされたルール內(nèi)でセレクターを拡張しようとしていることです。 @ExtEndが機(jī)能していない場(chǎng)合は、これらのポイントを確認(rèn)してください。

sassで複數(shù)のクラスで@extendを使用できますか?これは、クラスをコンマで分離することで行うことができます。たとえば、「.new-class {@extend .class1、.class2; }”は.class1と.class2の両方のスタイルを拡張します。 SASSの拡張クラス。 @extendディレクティブの後に新しいスタイルを定義することで、これを行うことができます。新しいスタイルは、@extendを使用しているセレクターの拡張クラスのスタイルをオーバーライドします。

以上がSASSの@Extendを介した継承の利點(diǎn)の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無(wú)料で

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

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

「レンダリングブロッキングCSS」とは何ですか? 「レンダリングブロッキングCSS」とは何ですか? Jun 24, 2025 am 12:42 AM

ブラウザは、特にインポートされたスタイルシート、ヘッダーのインラインCSS、および最適化されていないメディアクエリスタイルを使用して、ブラウザがインラインおよび外部CSSをデフォルトで主要なリソースとして表示するため、ページレンダリングをブロックします。 1.重要なCSSを抽出し、HTMLに埋め込みます。 2。JavaScriptを介して非クリティカルなCSSの読み込みを遅らせる。 3.メディア屬性を使用して、印刷スタイルなどのロードを最適化します。 4.リクエストを減らすためにCSSを圧縮およびマージします。ツールを使用してキーCSSを抽出し、REL = "Preload"非同期負(fù)荷を組み合わせ、過(guò)度の分割と複雑なスクリプト制御を避けるためにメディア遅延荷重を合理的に使用することをお?jiǎng)幛幛筏蓼埂?/p>

外部対內(nèi)部CSS:最良のアプローチは何ですか? 外部対內(nèi)部CSS:最良のアプローチは何ですか? Jun 20, 2025 am 12:45 AM

TheBestAppRoachforCSDependsonTheProject'sSpecificNeeds.forLargerProjects、externalCssissisbetterduetoMaintainasiladability; forsmallerProjectsOrsingLe-PageApplications、internalcsSmightBemoresuitable.it

私のCSSは小文字でなければなりませんか? 私のCSSは小文字でなければなりませんか? Jun 19, 2025 am 12:29 AM

いいえ、CSSDOESNOTHAVETOBEINLOWERCASE。

CSSケース感度:重要なことを理解する CSSケース感度:重要なことを理解する Jun 20, 2025 am 12:09 AM

cssismostlycase-inssensitive、buturlsandfontfamilynamesarecase-sensitive.1)propertiesandvalueslikecolor:red; areotcase-sensitive.2)urlsmustmatchtheserver'scase、例えば、/畫像/logo.png.3)

Autoprefixerとは何ですか?それはどのように機(jī)能しますか? Autoprefixerとは何ですか?それはどのように機(jī)能しますか? Jul 02, 2025 am 01:15 AM

Autoprefixerは、ターゲットブラウザスコープに基づいてCSS屬性にベンダープレフィックスを自動(dòng)的に追加するツールです。 1.エラーで接頭辭を手動(dòng)で維持する問(wèn)題を解決します。 2. PostCSSプラグインフォーム、CSSを解析し、プレフィックスする必要がある屬性を分析し、構(gòu)成に従ってコードを生成する屬性を分析します。 3.使用手順には、プラグインのインストール、ブラウザーリストの設(shè)定、ビルドプロセスでそれらを有効にすることが含まれます。 4。メモには、接頭辭を手動(dòng)で追加しない、構(gòu)成の更新を保持すること、すべての屬性ではなくプレフィックスを維持することが含まれ、プリ??プロセッサでそれらを使用することをお?jiǎng)幛幛筏蓼埂?/p>

CSSカウンターとは何ですか? CSSカウンターとは何ですか? Jun 19, 2025 am 12:34 AM

csScountersCantAnationally-bersectionSandLists.1)usecounter-resettoinitialize、counter-incrementtoincrease、andcounter()orcounters()todisplayvalues.2)を組み合わせたjavascriptfordynamiccontenttoensureaCurateupdatesと組み合わせます。

CSS:ケースはいつ重要ですか(いつそうではありませんか)? CSS:ケースはいつ重要ですか(いつそうではありませんか)? Jun 19, 2025 am 12:27 AM

CSSでは、セレクターと屬性名はケースに敏感ですが、値、名前の色、URL、およびカスタム屬性はケースに敏感です。 1.バックグラウンドカラーや背景色など、セレクターと屬性名はケース非感受性です。 2。値の16進(jìn)數(shù)色は大文字と小文字を區(qū)別しますが、赤と赤などの名前の色は無(wú)効です。 3. URLは癥例に敏感であり、ファイルロードの問(wèn)題を引き起こす可能性があります。 4.カスタムプロパティ(変數(shù))はケースに敏感であり、使用する場(chǎng)合はケースの一貫性に注意を払う必要があります。

CSSの癥例感度:説明されたセレクター、プロパティ、および値 CSSの癥例感度:説明されたセレクター、プロパティ、および値 Jun 19, 2025 am 12:38 AM

cssselectors andpropertynamesarecase-inssensitive、whilevaluescanbecase-sensitivedingoncontext.1)selectorslike'div'andiv'areequivalent.2)propertiessuchas'background-color'and'background-color'arecase-sensens

See all articles