我有一個帶有輸入和textarea元素的表單。我使用bootstrap和我自己的site.css。 site.css位於標記中的boostrap.css之前。我在網站的CSS,看起來像這樣的CSS規則:來自不同樣式表文件的CSS選擇器優先級
.formcontainer input, textarea {
background-color: lightgray;
}
表單元素也有形式控制類從應用到他們的引導。問題在於輸入元素會優先考慮我網站css中的規則並正確應用背景顏色。但是,對於textarea元素,引導類優先於來自我的site.css的規則。所有表單元素都被包裝在同一個div容器中,並且應用了相同的分解。我無法理解爲什麼元素獲得不同規則的優先順序。
這裏就是輸入得到的背景顏色標記的一個例子,但textarea的不:
<div id="formpart2" class="formcontainer">
<div class="form-group">
<label class="control-label visible-ie8 visible-ie9">Email</label>
<div class="input-group">
<input type="text" class="form-control invalid" fieldrequired>
</div>
</div>
<div class="form-group">
<label class="control-label visible-ie8 visible-ie9">Contact Instructions</label>
<div class="input-group">
<textarea type="text" class="form-control" rows="10" cols="15" fieldrequired></textarea>
</div>
</div>
</div>
我用Bootstrap遇到過這樣的一些事情。它來自CSS屬性'!important'。這可以添加到級聯列表中的樣式,並且不會被覆蓋,因爲它可以順利進行。 Bootstrap有一些標記爲重要的東西,因此優先考慮。嘗試添加你自己的!重要的。這是一個小提琴的例子。 https://jsfiddle.net/0fqsm8jq/ – Dean
@Dean你***不要使用'!important'。你的建議是真的,我的意思是*真*,壞。在'!important'的使用是合法的情況下,情況確實存在。我敢打賭,你從未遇到過其中之一。推薦使用'!important'來解決css加載問題,這是你可能給OP的最糟糕的建議。 – connexo
@HisDivineShadow您可能希望使用此選擇器來代替'.formcontainer input,.formcontainer textarea {...}'。否則,你的規則會針對任何'input'元素,它是類'.formcontainer'類的後代和元素,並且最重要的是任何textarea(沒有在此需要某個類的父類)。還要注意,這使得textarea的規則不太具體。 – connexo