幽默:使用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中!important的作用CSSImport
- CSS !importantCSSImport
- 幽默:程式設計師跳槽的幾個原因,最後一個亮了!程式設計師
- css44 CSS The !important RuleCSSImport
- Oracle中如何保證使用者只有一個Session登入OracleSession
- CSS 只有一條橫線的輸入框CSS
- 幽默:如何建立一個良好的關係?
- 幽默:CSS不再是一項前端核心技能?CSS前端
- IE CSS Bug系列:IE6忽略!important的BugCSSImport
- IE CSS Bug系列::first-line中帶有!important的規則被忽略CSSImport
- css選擇器權重和超越`!important`CSSImport
- 電腦開機黑屏只有一個滑鼠箭頭什麼原因怎麼解決
- 程式猿的一些幽默趣聞 個個經典
- 程式猿的一些幽默趣聞 個個經典
- 當你們覺得各種不合理,工作很難進行時,只有一個原因
- 怎麼確保終端使用者在Oracle資料庫中只有一個會話Oracle資料庫會話
- 單例模式 - 只有一個例項單例模式
- Java GUI之建立一個只有兩個按鈕的框架JavaGUI框架
- 一個只有十行的精簡MVVM框架MVVM框架
- css 中 nth-child、first-child、last-child 的使用(選中第一個,第幾個,第幾個到第幾個,最後一個等)CSSAST
- 程式設計師幽默:一個搞笑的Linux Shell命令程式設計師Linux
- 將Nuxt.js搭建的網站中css樣式提取到一個css檔案中UXJS網站CSS
- Media Query 在 CSS 中使用的一個具體例子CSS
- An important personImport
- mysql 連線超慢的一個原因MySql
- IT行業的幽默一面行業
- 程式猿的一些幽默
- css如何設定字串中第一個字元的樣式CSS字串字元
- 使用 Protocol Buffers 代替 JSON 的五個原因ProtocolJSON
- CSS中float和Clear的使用CSS
- 幽默:使用錯誤框架的下場框架
- CSS開發中的10個不要CSS
- HBase啟動不了的一個原因處理
- linux vnc登入不了的一個原因LinuxVNC
- 開發一個自己的 CSS 框架(一)CSS框架
- 幽默圖:維護一個整體式的monolith單體系統Mono
- 使用微服務失敗的11個原因 - Shekhar Gulati微服務
- 幽默:過度使用Lambda的Java程式碼Java