CSS 在處理錯誤時非常靈活。當它遇到錯誤時,它不同於 JavaScript,不會整個拆開東西然後全部停止執行腳本。

CSS 試圖盡力遵從你的要求。

如果一行有錯誤,它會跳過該行並繼續往下一行執行,而不報錯。

如果你忘記在一行上加上分號:

p {
  font-size: 20px
  color: black;
  border: 1px solid black;
}

有錯誤的那一行和下一行 都不會 生效,但第三行的規則將會正確應用在頁面上。基本上,CSS 會一直掃描直到遇到分號,但在達到之前,該規則已經變成了 font-size: 20px color: black;,這是無效的,所以它會跳過。

有時候我們很難意識到錯誤在哪裡,因為瀏覽器不會告訴我們。

這也是為什麼有像 CSS Lint 這樣的工具存在的原因。