基於類名的原子化樣式的一個挑戰在於,它通常依賴於特定斷點來確定上下文。
<div></div> <div></div> <div></div>
通常使用前綴來定位每個斷點:
<div></div>
這在添加多個類之前效果很好。但是當我們開始添加多個類時,就很難追踪哪些類與哪些斷點相關,以及在哪裡添加、刪除或更改內容。
<div> </div>
我們可以嘗試通過重新分組來提高可讀性:
<div> </div>
我們還可以添加一些特殊的分割符(無效的類名將被忽略):
<div> </div>
但這仍然感覺很混亂,難以理解。
我們可以通過對屬性選擇器進行分組而不是實際的類來獲得更好的概覽並避免實現前綴:
<div data-lg="span-4 font-size-xl font-weight-700" data-md="span-6 font-size-xl font-weight-500" data-sm="span-12 font-size-lg"></div>
這些不是類的集合,而是一組空格分隔的屬性,我們可以使用[attribute~="value"]
選擇器來選擇它們,其中~=
要求精確的單詞出現在屬性值中才能匹配。
@media (min-width: 0) { [data-sm~="span-1"] { /*...*/ } [data-sm~="span-2"] { /*...*/ } /* etc. */ } @media (min-width: 30rem) { [data-md~="span-1"] { /*...*/ } [data-md~="span-2"] { /*...*/ } /* etc. */ } @media (min-width: 60rem) { [data-lg~="span-1"] { /*...*/ } [data-lg~="span-2"] { /*...*/ } /* etc. */ }
這可能看起來有點奇怪,但我認為將原子類轉換為屬性相當簡單(例如, .sm-span-1
轉換為[data-sm~="span-1"]
)。此外,屬性選擇器的特異性與類相同,因此我們不會損失任何東西。而且,與類不同,屬性可以在不轉義特殊字符(如/ .:?
)的情況下編寫。
就是這樣!再次強調,這只是一個想法,旨在使在媒體查詢中切換聲明更容易編寫、閱讀和管理。這絕對不是要取消類或類似內容的建議。
以上是使用屬性選擇器的響應式樣式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

React生態系統為我們提供了許多庫,所有庫都集中在拖放的相互作用上。我們有反應,反應,可愛dnd,

我可以說我經常使用背景折疊。 IT Wager IT幾乎從未在日常CSS工作中使用。但是在斯特凡·朱迪斯(Stefan Judis)的帖子中,我想起了它,

使用RequestAnimationFrame進行動畫化應該很容易,但是如果您還沒有徹底閱讀React的文檔,那麼您可能會遇到一些事情

聽著,我不是GraphQL專家,但我確實喜歡與之合作。作為前端開發人員,它向我曝光數據的方式非常酷。它就像一個菜單


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

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

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

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

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。