目次
JavaScriptを使用してソートします
Grid Shepherdについて学びます
高度な羊
管理とアクセシビリティ
エンディング!
ホームページ ウェブフロントエンド CSSチュートリアル グリッドシェパードテクニックを使用して、CSSでデータを注文する

グリッドシェパードテクニックを使用して、CSSでデータを注文する

Apr 20, 2025 am 10:02 AM

グリッドシェパードテクニックを使用して、CSSでデータを注文する

羊飼いは群れの世話をするのが得意であり、秩序と構造を彼らにもたらします。何百もの羊がいても、羊飼いは一日の終わりに彼らを農場に連れ戻すでしょう。

データを処理する場合、プログラマーはしばしばデータが正しくフィルタリングされているかソートされているかを知らないことがよくあります。各要素が受信された場所が不明でないため、配列を反復してからページにデータを表示すると、特に痛みがあります。 Grid Shepherdは、JavaScriptの代わりにCSSグリッドを使用して、プロジェクトを必要な場所に配置してソートするのに役立つテクノロジーです。

これがこの記事で探求するものです。 Grid Shepherdテクノロジーは、処理するデータに順序と構造をもたらすと同時に、これまで以上にデータがどこでどのように使用されるかをより明確に理解することができます。

より深く理解しましょう。

JavaScriptを使用してソートします

私たちは、順序付けられていない農場の動物を繰り返すことから始めます。牛や羊が畑で喜んで放牧されていることを想像してください。 Array.prototype.sortメソッドを使用してプログラムで組み合わせることができ、ページにリストされています。

動物と= [
  {name: 'edna'、animal: 'cow'}、
  {name: 'liam'、animal: 'heep'}、
  {name: 'fink'、animal: 'heep'}、
  {name: 'olga'、animal: 'cow'}、
];
sortedanimals = animal.sort((a、b)=> {
  if(a.animal> b.animal)return 1;
  0を返します。
});
console.log(sortedanimals);
/* 戻る:
  [{name: 'elga'、animal: 'cow'}、
    {name: 'olga'、animal: 'cow'}、
    {name: 'liam'、animal: 'heep'}、
    {name: 'fink'、animal: 'heep'}]
*/
ログイン後にコピー

Grid Shepherdについて学びます

Grid Shepherdメソッドは、JavaScriptを使用せずにデータの並べ替えを可能にします。代わりに、私たちはCSSグリッドに頼って仕事をしています。

構造は上記のJavaScriptオブジェクト配列とまったく同じですが、DOMノードで表されます。

<main><div>エドナ</div>
  <div>リアム</div>
  <div>ジェン</div>
  <div>フィンク</div>
</main>
ログイン後にコピー

これらの動物を管理するには、私たちが使用しているものである共通エリアでそれらを囲む必要があります<main></main>要素の理由。 display: gridを設定することにより、各動物が占有する列(または行)を定義できるグリッドフォーマットコンテキストを作成します。

 .sheep {grid-column:1; }
.cow {grid-column:2; }
ログイン後にコピー

grid-auto-flow: denseを使用して、各動物は、定義された各エリアで最初の利用可能な場所に自動的に配置されます。これは、任意の数の異なるソートオプションでも使用できます - 別の列を定義するだけで、データは魔法のようにソートされます。

主要 {
  ディスプレイ:グリッド;
  Grid-auto-flow:密度;
}

.sheep {grid-column:1; }
.cow {grid-column:2; }
ログイン後にコピー

高度な羊

CSSカウンターを使用して、管理の例をさらに改善できます。これにより、各カラムの動物の数を計算し、Lea Verouの2011年のスピーチでHeydon Pickeringによって提案された数量クエリを適用できます。

数量クエリは、クラスをカウントするための何らかのセレクターに依存します。これは:nth-child(An B [of S]?)擬似クラス表記に最適ですが、現在はsafariでのみ利用可能です)。これは、回避策として:nth-of-type()セレクターを使用する必要があることを意味します。

それを機能させるには、いくつかの新しい要素タイプが必要です。これは、Webコンポーネントによって、またはHTML要素をカスタム名に変更することで実行できます。これは、これらの要素がHTML仕様にない場合でも適用されます。これは、ブラウザがHTMLUnknownElementを使用して未定義のタグを表すため、 divと非常に同様の動作を引き起こすためです。ドキュメントは今次のようになります:

<fence><sheep>リサ</sheep><sheep>ボニー</sheep><cow>オラフ</cow><sheep>ジェン</sheep></fence>
ログイン後にコピー

これで、カスタム要素タイプにアクセスできます。羊や牛の数が10以下の場合、赤い背景を適用しましょう。

羊:nth-​​last-of-type(n 10)、
羊:nth-​​last-of-type(n 10)〜羊、
牛:nth-​​last-of-type(n 10)、
牛:nth-​​last-of-type(n 10)〜牛、{
  背景色:赤;
}
ログイン後にコピー

さらに、カウンターは、 counter-reset: countsheep countcow; beforeセレクターを使用して各要素を見つけて上向きにカウントします。

羊::前{
  カウンターインクリメント:countsheep;  
  コンテンツ:counter(countsheep); 
}
ログイン後にコピー

ここでは、VUEの移行と2つの異なるソートオプションを使用して、動物を動的に追加および削除するためにVUEを使用します。動物がより多くの動物を追加して削除したとしても、動物が正しい柱を自然に占める方法を見てください。

グリッドシェパードは、順序付けられていないデータにも使用できます。

  • 投票で有権者を分離して計算し(おそらく2つの部分として、および対応するプロフィール写真)、リアルタイムで挿入します。
  • 位置、年齢、身長に基づくグループの人員/同僚。そして
  • 階層を作成します

管理とアクセシビリティ

grid-auto-flow: denseグリッドのDOM構造を変えません - 視覚的には要素が含まれています。カウンター番号が混合されるため、副作用はアルファベット順にソートされた最後の例で見ることができます。 DOM構造を変更すると、スクリーンリーダーを使用している人だけでなく、タブトラバーサルにも影響します。

また、スクリーンリーダーにとってフラットなドキュメント構造は有害である可能性があることに注意してください。代わりに、これらのデモグリッドをグラフィックスとして扱い、より長いテキストの代替情報を提供します。

エンディング!

メッシュなどのCSSレイアウトツールを、従来のレイアウト要件以外のユースケースに使用し、過去に他の言語を必要としていた可能性のあるエリアを入力することができることを見るのは非常に賢いです。この場合、CSSグリッドのレイアウトの利点とJavaScriptのダイナミックデータ処理能力がどのようにどのように希望どおりにレンダリングされたデータを曲げるかとパワーを与える方法と、これがどのようにより多くの選択肢とパワーを与えるかを見ることができます。

以上がグリッドシェパードテクニックを使用して、CSSでデータを注文するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

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)

SASSをより速くするための概念の証明 SASSをより速くするための概念の証明 Apr 16, 2025 am 10:38 AM

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

静的フォームプロバイダーの比較 静的フォームプロバイダーの比較 Apr 16, 2025 am 11:20 AM

ここでは、「静的フォームプロバイダー」という用語を埋めてみましょう。あなたはあなたのHTMLを持ってきます

毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 Apr 17, 2025 am 10:55 AM

今週のプラットフォームニュースのラウンドアップで、Chromeは、Web開発者のロード、アクセシビリティ仕様、およびBBCの動きのための新しい属性を導入します

セクション要素との取引 セクション要素との取引 Apr 12, 2025 am 11:39 AM

2つの記事がまったく同じ日に公開されました。

マルチサムスライダー:一般的なケース マルチサムスライダー:一般的なケース Apr 12, 2025 am 10:52 AM

この2部構成のシリーズの最初の部分では、2つの親指スライダーを取得する方法を詳しく説明しました。今、私たちは&#039; llが一般的なマルチサンプスのケースを見ていますが、別のものと

HTMLダイアログ要素を使用したいくつかの実践 HTMLダイアログ要素を使用したいくつかの実践 Apr 16, 2025 am 11:33 AM

これは私が初めてHTML要素を見ていることです。私はしばらくの間それを知っていましたが、まだスピンしていませんでした。かなりクールです

Google Fontsをタグ付けし、Goofonts.comを作成する方法 Google Fontsをタグ付けし、Goofonts.comを作成する方法 Apr 12, 2025 pm 12:02 PM

Goofontsは、開発者妻とデザイナーの夫によって署名されたサイドプロジェクトであり、どちらもタイポグラフィの大ファンです。 Googleにタグを付けています

それはすべて頭の中にあります:Reactヘルメットを使用してReact Poweredサイトのドキュメントヘッドを管理する それはすべて頭の中にあります:Reactヘルメットを使用してReact Poweredサイトのドキュメントヘッドを管理する Apr 15, 2025 am 11:01 AM

ドキュメントヘッドはウェブサイトの中で最も魅力的な部分ではないかもしれませんが、それに入るものは間違いなくあなたのウェブサイトの成功にとってそれと同じくらい重要です

See all articles