搜尋
首頁web前端css教學進入可能的CSS砌體佈局的第一步

First Steps into a Possible CSS Masonry Layout

雖然不及容器查詢那樣炙手可熱,但CSS原生支持“砌體”(Masonry)佈局一直是CSS開發者們強烈期盼的功能。砌體佈局指的是元素大小不一,排列成參差不齊的行,有點像側放的磚牆。

CSS本身已能實現這種佈局,但有個很大的限制:項目並非按行排列,而是按列排列,這往往難以滿足需求。

 <code>/* 通常人们不想要这种排列方式*/ 1 4 6 8 2 7 3 5 9</code>
 <code>/* 他们想要这种排列方式* 1 2 3 4 5 6 7 8 9</code>

如果既要參差不齊的行排列,又要保持水平方向的源代碼順序,就只能藉助JavaScript。但現在情況有所改變,Firefox在夜間版中通過特性標誌引入了這項功能,作為CSS Grid的一部分。

Mats Palmgren表示:

此提案的實現現已在Firefox Nightly中可用。它默認情況下是禁用的,因此您需要加載about:config並將首選項layout.css.grid-template-masonry-value.enabled設置為true才能啟用它(在此頁面的搜索框中鍵入“masonry”,它會顯示該首選項)。

Jen Simmons已經創建了一些演示:

這真的是網格佈局嗎?

Rachel Andrew對此提出了一些質疑……

網格佈局並非砌體佈局,因為它是一個具有嚴格行和列的網格。如果您再次查看砌體佈局創建的佈局,我們會發現它並沒有嚴格的行和列。通常我們有定義的行,但列的行為更像flex佈局或Multicol。 Multicol佈局和砌體佈局的關鍵區別在於,在Multicol中,項目按列顯示。在砌體佈局中,通常希望它們按行顯示。

[…]

就我個人而言,我不太喜歡將其作為網格規範的一部分。乍一看它確實很有吸引力,但我認為這是一種相對專業的佈局模式,實際上根本不是網格佈局。它更類似於flex佈局而不是網格佈局。

通過將這種佈局方法放入網格規範中,我擔心我們隨後需要在對網格進行任何其他添加時支持砌體功能。

所有這些目前都尚未最終確定,CSS工作組正在對此進行積極討論。

正如Jen所說:

這是一個實驗性實現——正在討論作為可能的CSS規範。它還不是官方的,並且可能會發生變化。不要寫博客文章說這絕對是一件事。它還不是。還不是。它是一個實驗。一個原型。如果您有想法,請在CSSWG上發表您的意見。

Houdini?

上次討論原生砌體佈局時,它與CSS佈局API(作為Houdini的一部分)可以實現這一目標的想法混雜在一起。正如您在Chrome Canary中打開此演示(存儲庫)時所看到的,這是一項功能。

我並不完全了解Houdini是否旨在成為一項功能,以便像這樣的想法可以在瀏覽器中進行原型設計,並最終從Houdini中移除,或者這些想法是否應該留在Houdini中,或者是什麼。

以上是進入可能的CSS砌體佈局的第一步的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
@rules具有多少特異性,例如@keyframes和@media?@rules具有多少特異性,例如@keyframes和@media?Apr 18, 2025 am 11:34 AM

前幾天我得到了這個問題。我的第一個想法是:奇怪的問題!特異性是關於選擇者的,而在符號不是選擇器,那麼...無關緊要?

您可以嵌套@Media和@support查詢嗎?您可以嵌套@Media和@support查詢嗎?Apr 18, 2025 am 11:32 AM

是的,您可以,而且它並不重要。不需要CSS預處理器。它在常規CSS中起作用。

快速吞噬緩存破壞快速吞噬緩存破壞Apr 18, 2025 am 11:23 AM

您應該肯定會在CSS和JavaScript(以及圖像和字體以及其他內容)等資產上設置遙遠的高速緩存標頭。告訴瀏覽器

尋找可以監視CSS質量和復雜性的堆棧尋找可以監視CSS質量和復雜性的堆棧Apr 18, 2025 am 11:22 AM

許多開發人員寫瞭如何維護CSS代碼庫的文章,但並沒有很多關於如何測量該代碼庫質量的文章。當然,我們有

數據學家用於建議不執行值的值數據學家用於建議不執行值的值Apr 18, 2025 am 11:08 AM

您是否曾經有一種需要接受簡短而任意的文本的表格?喜歡名字或其他。那完全是用的。有很多

蘇黎世的最初會議蘇黎世的最初會議Apr 18, 2025 am 11:03 AM

我很高興能前往瑞士蘇黎世參加前界(Love the Name and URL!)。我以前從未去過瑞士,所以我很興奮

使用CloudFlare工人建立全棧無服務器應用程序使用CloudFlare工人建立全棧無服務器應用程序Apr 18, 2025 am 10:58 AM

我在軟件開發方面最喜歡的發展之一是無服務器的出現。作為一個傾向於陷入細節的開發人員

在NUXT應用程序中創建動態路由在NUXT應用程序中創建動態路由Apr 18, 2025 am 10:53 AM

在這篇文章中,我們將使用我構建和部署的電子商務商店演示來進行Netlify,以展示如何為傳入數據製作動態路線。這是一個公平的

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 Mac版

SublimeText3 Mac版

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