所以我有如下一個CSS腳本一個div,在這個腳本它的定義如下:CSS迫使一個div遵循類
#div { height: 30px; width: 30px; float:left;}
我需要的div屬性,但爲它而不是浮到正確和計劃這樣做使用一個類:
.class {float: right}
然而,這不起作用(它仍然浮動到左邊)。
有沒有一種方法可以迫使div在它自己的預定屬性上跟隨這個類?
所以我有如下一個CSS腳本一個div,在這個腳本它的定義如下:CSS迫使一個div遵循類
#div { height: 30px; width: 30px; float:left;}
我需要的div屬性,但爲它而不是浮到正確和計劃這樣做使用一個類:
.class {float: right}
然而,這不起作用(它仍然浮動到左邊)。
有沒有一種方法可以迫使div在它自己的預定屬性上跟隨這個類?
您遇到了CSS specificity問題。
與class
選擇器相比,id
選擇器具有更高的特異性,因此它的值不能僅使用class
選擇器覆蓋。
有兩種方法來覆蓋id
選擇的屬性:
!important
後綴強制瀏覽器來選擇class屬性值。但是,使用!important
有它自己的set of problems。例如,
<p id="foo" class="bar">
Hello
</p>
CSS:
#foo { color: red; }
.bar { color: green !important; } /* avoid */
#foo.bar { color: yellow; } /* multi selector*/
見我如何使用!important
或multi-selector
jsfiddle link。
請當你有像'#foo.bar'這樣的專用選項時,請不要使用'!important'。 – SimianAngel
你可以使用「!important」,更確切地說,你也可以輸入html用的嗎? –
看看這篇文章:https://css-tricks.com/specifics-on-css-specificity/ –
'!important''有點矯枉過正。 在你的代碼中,它不適用,因爲CSS評估規則的方式。一個id比班級有更重要的分數。要擊敗比分,你應該修改爲''#div.class {float:right}''。重要的是不要使用太多的''重要的'',因爲當你無法輕鬆達成樂譜時,它具有超強的力量。 – jibe