首頁 >web前端 >css教學 >為什麼常規 CSS 規則會覆蓋 CSS 中的媒體查詢?

為什麼常規 CSS 規則會覆蓋 CSS 中的媒體查詢?

DDD
DDD原創
2024-12-22 05:30:15662瀏覽

Why Do Regular CSS Rules Override Media Queries in CSS?

媒體查詢和 CSS 優先級

在 CSS 中,媒體查詢的優先順序低於常規 CSS 規則。這是由 CSS Cascade 決定的,CSS Cascade 是一組規定樣式應用順序的規則。

為何媒體查詢的優先順序較低

媒體查詢並沒有增加選擇器的特異性。這意味著,如果常規 CSS 規則和媒體查詢以相同的特異性定位相同元素,則常規 CSS 規則將優先。

範例:

考慮以下程式碼:

.logo img {
  width: 100%;
}

@media screen and (min-width: 100px) and (max-width: 1499px) {
  .logo img {
    width: 120%;
  }
}

在此範例中,媒體查詢的優先順序低於非媒體查詢規則。因此,當視窗大小與媒體查詢相符時,非媒體查詢規則仍然適用,導致影像寬度設定為 100%。

解決方法

要將媒體查詢優先於常規 CSS 規則,有兩個選項:

1。交換規則順序

重新排序 CSS規則,使媒體查詢位於非媒體查詢規則之後:

.logo img {
  width: 100%;
}

@media screen and (min-width: 100px) and (max-width: 1499px) {
  .logo img {
    width: 120%;
  }
}

2.增加選擇器特異性

透過增加額外的選擇器來增加媒體查詢規則的特異性:

@media screen and (min-width: 100px) and (max-width: 1499px) {
  .logo a img {
    width: 120%;
  }
}

避免!重要

做不要使用「!important」聲明來覆蓋媒體查詢的優先順序。這將導致過度使用「!important」並使管理 CSS 特異性變得困難。

以上是為什麼常規 CSS 規則會覆蓋 CSS 中的媒體查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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