導入
これは、交互の行を持つ簡単なグリッドを作成する方法を示す簡単なデモンストレーションです。この例では、1 行に 3 つの項目があり、1 行に 2 つの項目があります。
これは 100% CSS ソリューションであり、要約すると、grid-columns プロパティのスパン値に @property を使用することになります。
仕組み
それは簡単です。異なる行が何行存在するか、およびこれらの異なる行に含まれるアイテムの合計数を知る必要があります。
私の例では次のようになります:
- 2 つの異なる行
- 3 アイテム 2 アイテム = 5 アイテム
これは、:nth-child() セレクターを実行するときに、その合計数を使用する必要があることを意味します:
&:nth-child(5n - 4), &:nth-child(5n - 4) ~ &:is(:nth-child(5n - 3), :nth-child(5n - 2)) { --col-span: 4; } &:nth-child(5n - 1), &:nth-child(5n - 1) ~ &:nth-child(5n) { --col-span: 6; }
col-span カスタム プロパティは次のように使用されます:
.item { ... grid-column: span var(--span-cols); grid-row: span var(--span-rows); ... }
これでほぼ終わりです。非常にシンプルで大したことはありませんが、それでも誰にとっても役立ちます。
よりデザイナーフレンドリーだがより複雑なソリューション
よりデザイナーに優しい解決策として、スパンを変更する代わりにアイテムの実際の量を宣言することを考えました。グリッド内の列数を変更してもスパンの調整を忘れると、望ましくない影響が生じるからです。そのため、別のカスタム プロパティを追加し、代わりにそれを変更しました。
最も残念な点は、どのソリューションを選択するかに関係なく、完全に動的なソリューションが必要な場合は、nth-child セレクターを手動で変更するか、JavaScript を使用して変更する必要があることです。 (SASS / SCSS を使用することもできます。これも明らかに良い方法です)
新しく追加されたプロパティは次のようになります:
@property --row-items { syntax: "<integer>"; inherits: false; initial-value: 1; } </integer>
項目については、プロパティ --row-items の値を変更できます
&:nth-child(5n - 4), &:nth-child(5n - 4) ~ &:is(:nth-child(5n - 3), :nth-child(5n - 2)) { --row-items: 3; } &:nth-child(5n - 1), &:nth-child(5n - 1) ~ &:nth-child(5n) { --row-items: 2; }
そして、span-col は x を選択するのではなく、.item クラスで直接計算されるようになりました。
.item { --span-cols: calc(var(--grid-cols) / var(--row-items)); grid-column: span var(--span-cols); grid-row: span var(--span-rows); }
参考までに、列と行のカスタム プロパティは次のように宣言されます。
@property --grid-cols { syntax: "<integer>"; inherits: false; initial-value: 12; } @property --grid-rows { syntax: "<integer>"; inherits: false; initial-value: 12; } </integer></integer>
結論
この種のグリッドを機能させる方法を理解するのに役立つことを願っています。
間違いを見つけた場合、または私に何らかのフィードバックがある場合は、この投稿にコメントを書いてください!
ありがとうございます。素敵な週末をお過ごしください。
クライカリ
オリジナルペン
items プロパティを持つペン
以上が交互の行を持つ単純なグリッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

最近、製品画像の色を動的に更新するソリューションを見つけました。したがって、製品の1つだけで、私たちはそれをさまざまな方法で色付けすることができます

今週のラウンドアップでは、灯台はサードパーティのスクリプトに光を当て、安全なリソースが安全なサイトでブロックされ、多くの国の接続速度がブロックされます

サイトの訪問者と使用データを追跡するのに役立つ分析プラットフォームがたくさんあります。おそらく、特にGoogleアナリティクスが広く使用されています

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

子のクラスでsuper()?を呼び出すJavaScriptを見たときに何が起こっているのか、Super()を使用して親のコンストラクターとSuperを呼び出します。そのアクセス

JavaScriptには、ユーザーインタラクション用の特別なUIを表示するさまざまな内蔵ポップアップAPIがあります。有名:

先日、私は多くの企業がアクセス可能なウェブサイトを作るのに苦労している理由について、フロントエンドの人々とおしゃべりをしていました。アクセス可能なWebサイトがとても難しいのはなぜですか


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

Dreamweaver Mac版
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

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