具有交替行的簡單網格
介紹
這是一個簡單的演示,展示瞭如何擁有一些具有交替行的簡單網格。在此範例中,一行包含三個項目,另一行包含兩個項目。
這是一個 100% CSS 解決方案,歸結為使用 @property 作為 grid-columns 屬性的跨度值。
它是如何運作的
嗯,很簡單。您需要知道有多少個不同的行以及這些不同行總共包含多少個項目。
在我的範例中,這將是:
- 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); ... }
差不多就是這樣了。它非常簡單,沒什麼大不了的,但對每個人仍然有用。
更適合設計師但更複雜的解決方案
對於更適合設計者的解決方案,我認為聲明實際的項目數量而不是更改跨度,因為如果更改網格中的列數,但忘記調整跨度,則會得到不良效果。這就是為什麼我添加了另一個自訂屬性並更改它。
最不幸的部分是,無論您選擇哪種解決方案,如果您想要完全動態的解決方案,則需要手動更改第 n 個子選擇器,或者透過 JavaScript 更改。 (你也可以使用SASS / SCSS,這顯然也是一個好方法)
新加入的屬性如下所示:
@property --row-items { syntax: "<integer>"; inherits: false; initial-value: 1; }
對於項目,您可以變更屬性 --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; }
現在直接在 .item 類別上計算跨列,而不是選擇 x。
.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; }
結論
我希望這可以幫助您了解如何使這種網格發揮作用。
如果您發現任何錯誤,或者對我有任何反饋,請在這篇文章中發表評論!
謝謝,祝您週末愉快,
庫萊卡里
原筆
具有 items 屬性的 Pen
以上是具有交替行的簡單網格的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

在元素個數不固定的情況下如何通過CSS選擇第一個指定類名的子元素在處理HTML結構時,常常會遇到元素個數不�...

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tartanify.com上,我們收集了5,000多個格子呢
