Dave Rupert巧妙地運用現代CSS解決了經典難題:當組件的CSS無法處理我們提供的內容時會發生什麼?
具體情況是,當佈局網格期望偶數個項目,但實際提供的是奇數個項目時。最後剩下的“懸空”元素會破壞佈局。這需要一些防禦性CSS,Dave做到了。
他使用:has()編寫了一個簡潔的選擇器,用於查找包含奇數個項目的網格中的最後一個項目:
<code>.items:has(.item:last-of-type:nth-of-type(odd)) .item:first-of-type { }</code>
分解如下:
- 我們有一個名為.items的父容器。
- 如果該容器:has()一個.item子元素,它是其類型的最後一個,
- ……並且該.item恰好是奇數實例,
- ……那麼選擇該類型的第一個.item元素並設置其樣式!
在這種情況下,最後一個.item可以設置為全寬,以防止佈局出現空隙。
如果……那麼……CSS具有條件邏輯能力!目前我們只討論Safari TP和Edge/Chrome Canary的支持,但這已經非常棒了。
碰巧的是,Temani Afif最近分享了他使用隱式網格進行實驗時學到的技巧。通過利用CSS Grid的自動放置算法,我們甚至不必為網格顯式聲明固定數量的列和行——如果需要,CSS會為我們創建它們!
不,Temani的技巧並不是Dave的“懸空”難題的替代方案。但是,將Temani對可重複網格佈局模式的方法與Dave對:has()的防禦性CSS用法相結合,我們得到了一個功能強大且外觀複雜的網格,它輕量級且能夠處理任意數量的項目,同時保持平衡的可重複模式。
以上是隱式網格,可重複的佈局模式和懸掛的詳細內容。更多資訊請關注PHP中文網其他相關文章!

文章討論了CSS保證金屬性,特別是“保證金:40px 100px 120px 80px”,其應用程序以及對網頁佈局的影響。

本文討論了CSS邊境屬性,重點是自定義,最佳實踐和響應能力。主要論點:邊境 - 拉迪烏斯(Border-Radius)對響應式設計最有效。

本文討論了CSS中評論的使用,詳細介紹了單線和多行評論語法。它認為註釋可以增強代碼的可讀性,可維護性和協作,但如果無法正確管理,可能會影響網站性能。

文章討論了將CSS添加到HTML的三種方法:內聯,內部和外部。分析了每種方法對網站性能和適合初學者的適用性的影響。 (159個字符)


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

WebStorm Mac版
好用的JavaScript開發工具

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

Dreamweaver Mac版
視覺化網頁開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器