幽默:使用CSS中!important的原因只有一個
CSS的語法!important很容易被誤用。來自CSS 聯合設計師Steven Pemberton認為:
新增 !important 僅出於一個原因:法律要求某些文字採用指定的字型大小。
!important 阻止CSS級聯改變它。
其他任何事情都可能是誤用,並且表明您可能無法正確理解CSS級聯。
這是!important message to us all.
其他HN網友意見:
內聯樣式(用於更快的初始頁面載入)有時需要透過 !important 覆蓋(在頁面載入後)。
我喜歡 Svelte 的部分原因是它透過將 CSS 劃分為我正在處理的 UI 元件來解決問題。感覺很自然,如果我在一個元件的檔案中編寫 CSS,它通常不應該被其他元件看到。
即使沒有 Svelte,如果您執行以下操作,人們在使用 CSS 時遇到的大多數問題都會消失:
- - 避免級聯(即沒有巢狀選擇器,除非“沒有其他方法”)
- - 為樣式和頁面/元件佈局實現單獨的選擇器(關注點分離)
- - 使用良好的命名約定並堅持下去
在編寫程式碼的漫長職業生涯中,我覺得我已經非常擅長編寫乾淨、可維護、易讀、可更改的程式碼。尤其是我最有經驗的語言。
我覺得我不知道如何編寫可維護、易讀、可更改的 CSS。就像,這不僅僅是因為我沒有時間——我只是不知道該怎麼做,儘管我付出了所有努力,但 CSS 總是變得可怕。
作為一個喜歡編寫 CSS 並認為自己相當擅長它的人,我得出的結論是編寫 CSS 是一種反模式,如果您希望團隊快速構建具有可維護的“前端樣式”的介面層”,它應該阻止編寫 css 的能力。
對,這種說法的缺陷。> 其他的都可能是誤用,也說明你可能沒有正確理解級聯。
是它假定改變 "整個級聯 "的成本是最小的。而且很容易設計出一個最初的級聯,它可以完美地滿足你的需要,而不需要隨著設計的發展進行任何改變。換句話說,它假設了經典的瀑布法,即一旦 "實施 "階段開始,規格和設計就已經完成,而且永遠不會改變。
建議是:CSS並沒有什麼問題,只是開發者在開始編碼之前不能想出一個完美的CSS設計。
在我看來,CSS的一個大問題正是它的級聯性質。據我所知,目前還沒有一個好的工具可以告訴你,由於某條CSS規則的改變,所有的東西都會改變。我們認為開發者的大腦中應該有這樣一個工具,如果你沒有,你就不是一個合格的開發者。)
我最終經常使用 !important 的一個地方是為網站編寫使用者樣式/擴充套件。顯然不是一個常見的用例,但我很高興 CSS 有 `!important`。
如果您明確地嘗試覆蓋另一個您無法控制的規則,則`!important` 比其他規則更慣用。
相關文章
- CSS !importantCSSImport
- css44 CSS The !important RuleCSSImport
- 幽默:程式設計師跳槽的幾個原因,最後一個亮了!程式設計師
- 幽默:兩個沒有使用DDD的幽默
- css選擇器權重和超越`!important`CSSImport
- 幽默:CSS不再是一項前端核心技能?CSS前端
- 幽默:如何建立一個良好的關係?
- 電腦開機黑屏只有一個滑鼠箭頭什麼原因怎麼解決
- An important personImport
- 當你們覺得各種不合理,工作很難進行時,只有一個原因
- Writing on important detailsImportAI
- 使用純css來建立一個滑塊CSS
- 使用css3做一個魔方旋轉的效果CSSS3
- Media Query 在 CSS 中使用的一個具體例子CSS
- css 中 nth-child、first-child、last-child 的使用(選中第一個,第幾個,第幾個到第幾個,最後一個等)CSSAST
- 雲中斷的三個主要原因
- 將Nuxt.js搭建的網站中css樣式提取到一個css檔案中UXJS網站CSS
- A Person Who Is Important to MeImport
- 使用css3實現一個斑馬線的效果CSSS3
- 使用css寫一個紅綠燈交替的動畫效果CSS動畫
- 開發一個自己的 CSS 框架(一)CSS框架
- 請使用css畫一個圓,方法可以多種CSS
- 手寫一個使用css3旋轉硬幣的效果CSSS3
- 使用微服務失敗的11個原因 - Shekhar Gulati微服務
- Important SAP APO Function Modules!ImportFunction
- 其實,B站只有一個主要矛盾
- 之前同事寫了一個功能,其中一個功能居然只有45個foreach
- 幽默:使用錯誤框架的下場框架
- 使用 JavaScript 控制 CSS 中的顏色JavaScriptCSS
- CSS中的float和margin的混合使用CSS
- MySQL中2個select被阻塞場景的原因MySql
- 使用css的attr()寫一個類似a標籤title的提示框CSS
- 幽默:無伺服器的定義,只有程式設計師才看得懂 - Kelsey Hightower伺服器程式設計師
- 一個SaaS專案失敗的原因 從個人角度覆盤專案失敗的5個重要原因
- 【翻譯】使用這20個好的css技巧提升你的CSS技能CSS
- 如何使用CSS繪製一個漢堡式選單CSS
- CSS的偽元素使用例子之一CSS
- Windows 11 登入後黑屏,只有一個可以移動的滑鼠Windows