我正在嘗試使用媒體查詢來覆蓋桌面裝置的樣式,但似乎不起作用。我將邊框顏色設為h2元素,並進行了測試以更好地視覺化此問題。如您所見,h2的邊框顏色設定為黃色。
這是我的SASS樣式:
.hero{ width: 100%; position: relative; background-color: $orange-color; background-image: url("../../../src/assets/images/gastro/gasto-item-chicken-buger.jpg"); background-repeat: no-repeat; background-size: cover; min-height: 100vh; display: flex; flex-direction: column; z-index: 0; .hero_content{ flex-grow: 1; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; transform: translateY(-100px); z-index: 2; .container{ display: flex; flex-wrap: wrap; justify-content: center; .box{ padding: 36px; display: flex; flex-wrap: wrap; text-align: center; justify-content: center; width: 50%; h2{ border: 2px solid yellow; color: $c-white; font-family: "CustomFont"; font-size: 4rem; line-height: 1.1; padding-bottom: 18px; text-shadow: .0625rem .0625rem #000; span{ color: $button-color; } } h3{ color: $c-white; font-family: $ff-title; text-shadow: .0625rem .0625rem #000; font-size: 2rem } } } } }
這是同一頁底部的媒體查詢。如您所見,邊框顏色設定為紅色,但仍然顯示黃色邊框顏色,而應該是紅色邊框顏色。只有在通用樣式中刪除黃色邊框顏色時,它才會顯示紅色。
@media (min-width: 768px){ .hero{ .hero_content{ .box{ h2{ border: 2px solid red; font-size: 4rem; } h3{ font-size: 2rem; } } } } }
P粉3489155722024-04-06 12:39:09
問題在於你的主要CSS有更具體的選擇器,有效地
.hero .hero_content .container .box h2 { ... }
在媒體查詢中嘗試覆寫的是
.hero .hero_content .box h2 { ... }
所以第一個勝出:第一個中有四個類別選擇器,而第二個中只有三個。
根據我的個人經驗,像SCSS或LESS這樣的東西的一個真正的負面影響是它們會引導你陷入這樣的陷阱。 CSS是一個非常難以「馴服」和控制的工具。
有一些技巧可以繞過這個問題,例如
.hero.hero.hero .hero_content .box h2 { ... }
用於媒體條件規則。這肯定會讓你感到不舒服。複雜的選擇器是一個陷阱,因為一旦你開始了,你就注定要永遠陷入其中。