首頁 >web前端 >css教學 >CSS重置矛盾

CSS重置矛盾

Joseph Gordon-Levitt
Joseph Gordon-Levitt原創
2025-02-08 09:44:10671瀏覽

The CSS Reset Contradiction

二十年來,網頁和前端開發領域一直使用CSS重置(為簡便起見,此處包含“重啟”和“標準化”)。我說“大約”是因為Tantek Çelik似乎在2004年啟動了這一切(你也可以在那裡找到我本人),但其他作者可能更早地使用了類似的技術。

基本前提

CSS重置基於三個前提:

  1. 用戶代理呈現網頁的方式存在差異,即它們的默認樣式各不相同。
  2. 這些差異會影響給定的網站。
  3. 這些差異很重要,需要處理。

顯而易見的是,如果——或者一旦——所有用戶代理都以相同的方式處理CSS,則不需要CSS重置。

同樣顯而易見的是,如果差異不適用,則也不需要CSS重置。例如,表單樣式差異在無表單網站上並不重要。

而且——許多論點都對此進行了不必要的爭論——這也意味著,如果差異不被認為足夠重要,則也不需要CSS重置。

我相信,在過去的20年中,我們看到並非所有作者都關注用戶代理之間的樣式差異是否會影響他們,以及這些差異是否真的重要。

但是,還有其他問題。

現實情況

對於CSS重置用戶而言,現實情況是他們覺得需要使用CSS重置。 CSS重置用戶可能(也可能)不會那樣認為,他們要么因為必須使用CSS重置,要么因為覺得使用CSS重置更安全而使用它。然而,從實際角度來看,使用CSS重置也是他們現實的一部分。

CSS重置用戶忽略的是另一種現實,即使用CSS重置的開發人員和網站所有者的現實。

這可以用前面概述的前提來解釋,但它有兩個原因值得關注。

  1. 在CSS重置的背景下,幾乎從未討論過存在不使用CSS重置並且在沒有CSS重置的情況下也能正常工作的網站和應用程序。
  2. 當我們採取始終需要和永遠不需要CSS重置的極端立場時,我們在實踐中觀察到的立場最終會導致矛盾。 P & ¬P。 *

雖然前提允許調和矛盾,但問題仍然存在:在我們關於CSS重置的討論中,似乎沒有人承認存在無需重置即可工作的網站——這從根本上挑戰並反駁了CSS“原教旨主義者”認為它們總是需要的觀點。這根本既不正確,也沒有幫助。

這就是全部嗎?不:

便利性

CSS重置已成為一種商品形式。有很多CSS重置(搜索顯示的種類比我能找到的最佳集合還要多),它們被烘焙到一些HTML/CSS甚至JS框架中。

這使得開發人員很容易忘記前提,並假設普遍需要CSS重置。

因此,我們很久以前就能觀察到,人們停止質疑他們使用重置,即使它們可能沒有效果。

後果

與發布無效和虛構HTML的效果類似,所有這些都在蠶食前端開發的工藝。

我們的選擇是什麼?

首先,我們需要明確CSS重置背後的前提,並將這些前提納入我們的討論中。這將使討論中的熱度降低,並做出更好的決策。

其次,我們需要進行現實檢查。有很多網站和應用程序沒有使用CSS重置,並且在所有用戶代理中都能正常工作。這是我們現實的一部分,鑑於某些CSS重置的性能和維護佔用空間,這是一個值得關注的現實。

第三,我們需要互相挑戰,也許更重要的是,挑戰自己。尋求便利似乎很自然,但重要的是要明確後果——便利很容易導致自滿、教條,最終導致無知。讓我們的開發人員生活變得稍微困難一些是有用的。

當我們做到這一切時,我們應該到達20年前就能到達的地方——一個我們非常有選擇地使用定制重置的地方,最有可能僅在高技術複雜性或開發人員資歷差異很大的環境中使用。但這只是推測,關於我們現在沒有的現狀。

*標題故意留下不完整。

非常感謝Miriam Suzanne和Jad Joubran審核這篇文章。

* 如果您認為在形式邏輯中,矛盾允許得出任何結論,那麼矛盾尤其引人入勝。

這就是丟失的“CSS重置第一規則”的原因:在使用重置設置網站後,至少要測試一次不使用重置的情況。

以上是CSS重置矛盾的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn