亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目次
抽象レイヤーの三角形
同じ技術(shù)、異なる環(huán)境
プライベート環(huán)境
標(biāo)準(zhǔn)環(huán)境
Webコンポーネントと構(gòu)成
Webコンポーネントとアクセシビリティ
結(jié)論は
ホームページ ウェブフロントエンド CSSチュートリアル さまざまなコンテキスト用にWebコンポーネントを作成します

さまざまなコンテキスト用にWebコンポーネントを作成します

Apr 21, 2025 am 09:29 AM

さまざまなコンテキスト用にWebコンポーネントを作成します

この記事は、Webコンポーネントの構(gòu)築方法に関するものではなく、最近Caleb Williamsが詳細(xì)なガイドを作成しました。それらの使用方法、構(gòu)築する際にどのような要因を考慮する必要があるか、およびプロジェクトでそれらを効果的に利用する方法について説明しましょう。

Webコンポーネントを初めて使用する場合、Caleb's Guideは読む価値がありますが、すぐに開始するのに役立つリソースをいくつか紹介します。

  • Webコンポーネント - 「正しい」アプローチ
  • Shadow Dom V1:自己完結(jié)型のWebコンポーネント
  • MDNのWebコンポーネント
  • 素晴らしいWebコンポーネント
  • 推奨されるオープンWebコンポーネント

Webコンポーネントが広くサポートされており(舞臺裏の多くのハードワークのおかげで)、エッジがまもなくクロムプラットフォームに切り替わることを考慮して、人々は現(xiàn)在、Webコンポーネントを「ネイティブ」でプラットフォーム互換のUIコンポーネントと見なし、設(shè)計システムとWebプロジェクト間の一貫性を維持しながら、シャドードームのパンを覆い、コンポーネントをカプセル化します。

これは正しいことも間違っています。しかし、最初に、抽象的なレイヤーの三角形を見てみましょう。

抽象レイヤーの三角形

技術(shù)的には、Webコンポーネントをお?dú)荬巳毪辘违蕞`クアップ言語HTML(はい?。─螔垙垽纫姢胜贡匾ⅳ辘蓼埂?WebコンポーネントAPIを使用すると、HTMLには存在しないカスタムHTML要素を作成できます(たとえば<foo-bar></foo-bar>)。

Webコンポーネントは基本的に新しいHTML要素であると言う人もいるので、それらをHTML仕様の一部として考慮する必要があるため、そのパラダイム、コア概念、および使用法に従う必要があります。これらすべてのポイントを想定すると、コンポーネントは、HTML、CSS、およびJavaScriptと並んで、Webプラットフォームスタックの最低レベルで存在することがわかります。フレームワークとライブラリ(React、Vue、Angular、Sveltejsなど)は、抽象化層で動作し、ステンシルジ、ハイブリッド、點燈などの「中つ國」のある種のツールの上に座ります。これらの抽象化レイヤーの下で、基本的なWebテクノロジーとネイティブWebコンポーネントを見つけることができます。この概念を表すために、 alt抽象化la ayer t rianger)図を使用できます。

なぜこれが重要なのですか?ネイティブコンポーネントの上に存在するレイヤーを視覚化し、それらの使用環(huán)境を理解して、意図した環(huán)境に対して構(gòu)築できるようにするのに役立ちます。環(huán)境は何ですか?それが私たちの目標(biāo)です。

同じ技術(shù)、異なる環(huán)境

Shadow Domは、WebコンポーネントAPIの重要な要素です。これにより、JavaScriptとCSSをカスタム要素にバンドルして、明示的に許可しない限り、外部の干渉とスタイルの操作を防ぐことができます。開発者は実際に、モニカ?ディンクレスクが良い紹介をしている:: partおよび:: theme pseudo-elementsだけでなく、カスタムプロパティやテーマの概要など、外部CSSがシャドウルートとコンポーネントに漏れることを許可する方法に従うことができます。

考慮すべきもう1つのことは、私たちが使用している環(huán)境です。個人的にWebコンポーネントを構(gòu)築してから3年後、2つの環(huán)境を特定できます:プライベート環(huán)境(設(shè)計システムなど)と標(biāo)準(zhǔn)環(huán)境(カスタムスタイルなしのプレーンHTML、CSS、JavaScriptなど)。

コンポーネントを設(shè)計する前に、それらがどのように使用されるかを理解する必要があるため、環(huán)境タイプを決定することがこのすべての鍵です。最も簡単な方法は、1つの環(huán)境のみをターゲットにすることですが、小さなCSSトリックを使用すると、両方のコンポーネントを構(gòu)築できます。

深く掘り下げる前に、2つの環(huán)境の違いを見てみましょう。

プライベート環(huán)境

プライベート環(huán)境は、コンポーネントを獨(dú)自のスタイルを提供する閉鎖エコシステムであり、そのまま使用する必要があります。したがって、特定のスタイルガイドまたは設(shè)計システムからコンポーネントのライブラリを構(gòu)築している場合、各コンポーネントはカスタムスタイルを反映しているため、必要なときにエンコードする必要はありません。

JavaScriptロジックにも同じことが言えます。たとえば、閉じた影の根を取り付けて、他の人がQuerySelectorで影の境界を誤って貫通するのを防ぐことができます。したがって、任意のコンポーネントを選択して使用して、スタイルの矛盾やCSS競合などの問題を回避できます。著者として、特定のユースケースのコンポーネントのスタイルを使用するために使用できるCSSカスタムプロパティ(または::パーツ)のセットを定義することもできますが、これはシステムを設(shè)計することではありません。

これは、プライベート環(huán)境でWebコンポーネントを使用する例です。そのすべてのスタイルとロジックは、そのShadow-Rootに含まれており、任意のページに単純に追加できます。

この例とその後の例は、デモンストレーションのみを目的としており、アクセシビリティやその他の最適化などの重要な狀況を考慮していないため、生産環(huán)境向けではありません。

プライベート環(huán)境のコンポーネントは、その環(huán)境以外ではめったに使用されません。たとえば、(獨(dú)自の強(qiáng)制スタイルを使用して)設(shè)計システムから要素を取得しようとすると、プロジェクトに追加してカスタマイズすることを期待することはできません。 Bootstrapがあなたの好みに応じてテーマをセットアップしてカスタマイズする方法を知っていますか?これは正反対です。これらのコンポーネントは、環(huán)境で、そして環(huán)境でのみ実行することを目的としています。

標(biāo)準(zhǔn)環(huán)境

標(biāo)準(zhǔn)環(huán)境はおそらく最も複雑なコンポーネントタイプです。これは、環(huán)境がVUEなどの成熟したフレームワークから、プレーンネイティブHTMLに反応する可能性があるだけでなく、誰もがそのコンポーネントを他の要素であるかのように使用できるはずです。

たとえば、コンポーネントが公開されている場合(NPMに追加するなど)、それを使用する人は、少なくともある程度カスタマイズできると予想されます。

獨(dú)自のデモスタイルのHTML要素を知っていますか?要素はCSSを明示的に使用する必要があるため、答えは「いいえ」でなければなりません。標(biāo)準(zhǔn)環(huán)境で作成されたWebコンポーネントにも同じことが言えます。単一のWebコンポーネントは、クラスとプロパティ、またはその他の方法を追加してカスタマイズできる必要があります。

これは、閉じた環(huán)境の例で見られるものと同じです<todo-list></todo-list>要素ですが、標(biāo)準(zhǔn)環(huán)境向けに設(shè)計されています。シャドウルートにデモスタイルはありません。実際、その機(jī)能を確保するために必要なロジックと基本的なCSSのみが含まれています。それ以外の場合は、標(biāo)準(zhǔn)のHTML要素(divなど)のようにカスタマイズできます。

各環(huán)境で表示される2つの例は、同じコンポーネントを使用して作成されました。違いは、標(biāo)準(zhǔn)環(huán)境のコンポーネントを外部CSSを使用してカスタマイズおよび選択できることです。

Webコンポーネントと構(gòu)成

OK、したがって、Webコンポーネントを使用することは、実際にはプレーンHTMLを使用することと同じですが、私たちが見ることができるように、特定のコンテンツのパラダイムと原則に従うことは非常に重要です。注意する必要があるのは、Webコンポーネントの組み合わせです。

Google Webファンダメンタルズが説明するように:

組み合わせは、Shadow Domの最も知られていない機(jī)能の1つですが、間違いなく最も重要な機(jī)能です。

Web開発の世界では、構(gòu)成はHTMLを使用して宣言的にアプリケーションを構(gòu)築する方法です。異なるビルディングブロック(<div> 、<code><s></s> 、<em></em> 、<strong></strong> )まとめてアプリケーションを形成します。これらのタグの一部は、互いに使用することさえできます。組み合わせが理由です<select></select>、<details></details><summary></summary>そして<video></video>そのようなネイティブ要素が非常に柔軟である理由。各タグは、特定のHTMLを子要素として受け入れ、それらに対していくつかの特別な手術(shù)を?qū)g行します。例えば、<select></select>方法を知っています<option></option>そして<optgroup></optgroup>ドロップダウンリストとマルチセレクトウィジェットとしてレンダリングされます。<details></details>要素はそうします<summary></summary>拡張可能な矢印として提示されます。平<video></video>また、特定の子供の要素に対処する方法を知っています。<track></track>要素はレンダリングされませんが、ビデオの動作に影響します。なんて素晴らしい!構(gòu)成は、HTMLを使用するときに通常行うことです。 Webコンポーネントは、DOM參照(論理コンテナではなく)を備えたHTML要素にすぎないため、コンビネーションとサブコンポーネントを構(gòu)築するために組み合わせに依存する必要があります。あなたが考慮するなら

    そして<select></select>、これらの要素を宣言的に組み合わせて最終出力を取得することに気付き、メインコンポーネント( [readonly]など)または子コンポーネント( [selected]など)に使用できる特定のプロパティがあります。 Webコンポーネントにも同じことが言えます。カスタムリストを作成する場合は、メインコンポーネントの構(gòu)築を検討してください。<custom-list></custom-list> )およびサブコンポーネント(<custom-li></custom-li> )。使用<slot></slot>要素では、子要素が配置される場所と、子要素が渡されないときに表示されるプレースホルダーコンテンツを定義できます。

    Webコンポーネントとアクセシビリティ

    考慮すべきもう1つのことは、アクセシビリティの「小さな」テーマと呼ばれるものです。まったく新しいHTML要素を作成しているため、基本的なセマンティックロール、キーボードナビゲーション、およびモーションの削減やコントラスト設(shè)定の高さなどのユーザーのオペレーティングシステムの設(shè)定を提供するために、要素のアクセシビリティを考慮する必要があります。

    アクセス可能で包括的なコンポーネントを構(gòu)築するための參照、セマンティックタグの定義方法、および基本的なキーボードナビゲーションを?qū)g裝する方法として、次のリソースを強(qiáng)くお勧めします。

    • 包括的コンポーネント
    • web.devの「すべての人に効果」
    • ワイアリアクリエイティブプラクティス
    • webaim wcagチェックリスト

    結(jié)論は

    WebコンポーネントはWeb開発における新たなテクノロジーであるため、目的の使用または最大化に基づいてそれらを構(gòu)築することに関して、明確に定義されたベストプラクティスはありません。あなたがそれらを使用していることに気付いたとき、あなたがこの投稿から得るかもしれない唯一のことは、それらが閉じた環(huán)境であるか標(biāo)準(zhǔn)環(huán)境であるかを検討し、自問することです。

    • Whoはこのコンポーネントを使用しますか?
    • この人はそれをカスタマイズする必要があるはずですか?
    • このコンポーネントは、すべての人に適していますか、それとも特定の視聴者に適していますか?

以上がさまざまなコンテキスト用にWebコンポーネントを作成しますの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

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

ホット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

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

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ロードスピナーとアニメーションを作成するためのCSSチュートリアル ロードスピナーとアニメーションを作成するためのCSSチュートリアル Jul 07, 2025 am 12:07 AM

CSSロード回転子を作成するには3つの方法があります。1。境界の基本回転子を使用して、HTMLとCSSを介してシンプルなアニメーションを?qū)g現(xiàn)します。 2。複數(shù)のポイントのカスタム回転子を使用して、異なる遅延時間を経てジャンプ効果を?qū)g現(xiàn)します。 3.ボタンに回転子を追加し、JavaScriptを介してクラスを切り替えて、読み込みステータスを表示します。各アプローチは、ユーザーエクスペリエンスを向上させるために、色、サイズ、アクセシビリティ、パフォーマンスの最適化などのデザインの詳細(xì)の重要性を強(qiáng)調(diào)しています。

CSSブラウザの互換性の問題とプレフィックスに対処します CSSブラウザの互換性の問題とプレフィックスに対処します Jul 07, 2025 am 01:44 AM

CSSブラウザの互換性とプレフィックスの問題に対処するには、ブラウザサポートの違いを理解し、ベンダーのプレフィックスを合理的に使用する必要があります。 1. FlexBoxやグリッドのサポート、位置:粘著性の無効、アニメーションのパフォーマンスなどの一般的な問題を理解することは異なります。 2. CANIUSE確認(rèn)機(jī)能サポートステータスを確認(rèn)します。 3. -webkit-、-moz-、-ms-、-o-およびその他のメーカーのプレフィックスを正しく使用します。 4.自動的にプレフィックスを追加するためにAutoprefixerを使用することをお勧めします。 5. PostCSSをインストールし、ターゲットブラウザを指定するようにBrowserSlistを構(gòu)成します。 6.建設(shè)中の互換性を自動的に処理します。 7. Modernizr検出機(jī)能は、古いプロジェクトに使用できます。 8.すべてのブラウザの一貫性を追求する必要はありません、

ディスプレイの違いは何ですか:インライン、ディスプレイ:ブロック、ディスプレイ:インラインブロック? ディスプレイの違いは何ですか:インライン、ディスプレイ:ブロック、ディスプレイ:インラインブロック? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay:インライン、ブロック、およびinline-blockinhtml/cssarelayoutbehavior、spaceusage、andstylingcontrol.1.inlineelementsflowwithtext、notstartonnewlines、nagrorewidth/height、height、andonlyhorizo??ntalpadddddddddddddddding

CSSクリップパスでカスタムシェイプを作成します CSSクリップパスでカスタムシェイプを作成します Jul 09, 2025 am 01:29 AM

CSSのクリップパス屬性を作物要素に使用して、寫真やSVGに依存することなく、三角形、円形ノッチ、ポリゴンなどのカスタム形狀になります。その利點には、次のものが含まれます。1。円、楕円、ポリゴンなどのさまざまな基本的な形狀をサポートします。 2。レスポンシブ調(diào)整とモバイル端子に適応可能。 3.アニメーションが簡単で、HoverまたはJavaScriptと組み合わせて動的効果を?qū)g現(xiàn)できます。 4.レイアウトフローには影響せず、ディスプレイエリアのみを収穫します。一般的な使用法は、円形のクリップパス:円(50pxatcenter)および三角クリップパス:ポリゴン(50%0%、100 0%、0 0%)などです。知らせ

スタイリングは、CSSとは異なるリンクを訪問しました スタイリングは、CSSとは異なるリンクを訪問しました Jul 11, 2025 am 03:26 AM

アクセスしたリンクのスタイルを設(shè)定すると、特にコンテンツ集約型のWebサイトでユーザーエクスペリエンスを向上させることができ、ユーザーがより良いナビゲートを支援します。 1。CSSを使用してください:訪問した擬似クラスは、色の変化などの訪問されたリンクのスタイルを定義します。 2。ブラウザは、プライバシーの制限により、いくつかの屬性の変更のみを許可することに注意してください。 3.突然の狀態(tài)を避けるために、色の選択は全體的なスタイルと調(diào)整する必要があります。 4.モバイル端子はこの効果を表示しない場合があり、アイコン補(bǔ)助ロゴなどの他の視覚的なプロンプトと組み合わせることをお勧めします。

CSSを使用して応答性のある畫像を作成する方法は? CSSを使用して応答性のある畫像を作成する方法は? Jul 15, 2025 am 01:10 AM

CSSを使用してレスポンシブ畫像を作成するには、主に次の方法で達(dá)成できます。1。最大幅を使用してください:100%と高さ:自動化して、割合を維持しながら畫像がコンテナ幅に適応できるようにします。 2。HTMLのSRCSETおよびサイズの屬性を使用して、異なる畫面に適合した畫像ソースをインテリジェントにロードします。 3.オブジェクトフィットとオブジェクトポジションを使用して、畫像のトリミングとフォーカスディスプレイを制御します。一緒に、これらの方法により、畫像がさまざまなデバイスで明確かつ美しく表示されるようになります。

一般的なCSSブラウザの矛盾とは何ですか? 一般的なCSSブラウザの矛盾とは何ですか? Jul 26, 2025 am 07:04 AM

さまざまなブラウザのCSS解析に違いがあるため、主にデフォルトのスタイルの違い、ボックスモデルの計算方法、フレックスボックスおよびグリッドレイアウトサポートレベル、および特定のCSS屬性の一貫性のない動作を含む一貫性のないディスプレイ効果が得られます。 1.デフォルトのスタイル処理は一貫性がありません。解決策は、cssresetまたはremormize.cssを使用して初期スタイルを統(tǒng)合することです。 2。IEの古いバージョンのボックスモデル計算方法は異なります。 Box-Sizing:Border-Boxを統(tǒng)一された方法で使用することをお勧めします。 3. FlexBoxとグリッドは、エッジの場合や古いバージョンでは異なる機(jī)能を示します。より多くのテストを行い、Autoprefixerを使用します。 4.一部のCSS屬性の動作は一貫性がありません。 Caniuseは相談して格下げする必要があります。

CSSユニットの分解:PX、EM、REM、VW、VH比較 CSSユニットの分解:PX、EM、REM、VW、VH比較 Jul 08, 2025 am 02:16 AM

CSSユニットの選択は、設(shè)計要件と応答性の要件に依存します。 1.PXは固定サイズに使用され、正確な制御に適していますが、弾力性の欠如に適しています。 2.EMは相対単位であり、親要素の影響によって簡単に引き起こされますが、REMはルート要素に基づいてより安定しており、グローバルなスケーリングに適しています。 3.VW/VHは、レスポンシブデザインに適したビューポートサイズに基づいていますが、極端な畫面の下でのパフォーマンスに注意を払う必要があります。 4.選択するときは、応答性の調(diào)整、要素階層関係、ビューポートの依存関係に基づいて決定する必要があります。合理的な使用は、レイアウトの柔軟性とメンテナンスを改善できます。

See all articles