2015-05-08 27 views
0

一個我想應用沒有什麼我可以嘗試重寫這個CSS選擇器

input[type=text]#lookupFilterName.hlLightRed { 
    background-color: lightpink !important; 
} 

的一個,實際上顯示了,在所有的瀏覽器,無論我做什麼。

input[type=text], textarea, input[type=password] { 
    background: #ffffff; 
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJod…EiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); 
    background: -moz-linear-gradient(top, #ffffff 0%, #afafaf 100%); 
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#afafaf)); 
    background: -webkit-linear-gradient(top, #ffffff 0%,#afafaf 100%); 
    background: -o-linear-gradient(top, #ffffff 0%,#afafaf 100%); 
    background: -ms-linear-gradient(top, #ffffff 0%,#afafaf 100%); 
    background: linear-gradient(to bottom, #ffffff 0%,#afafaf 100%); 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#afafaf',GradientType=0); 
} 

我能得到這個特殊的文本框是粉紅色的,唯一的辦法是打開的開發工具,並關閉所有的背景中(輸入[類型=文本],文本區域,輸入[類型=密碼] )一個。

兩者都來自2個不同的樣式表。 目標元素是:

<input id="lookupFilterName" type=text class="fullcellwdith changesdontmatter hlLightRed" /> 

爲什麼會這樣瘋狂的事發生?

回答

5

這只是因爲你應該寫背景而不是背景顏色。 「背景」 元件的線性gradiant優先於 「背景色」

只是這樣做:

input[type=text]#lookupFilterName.hlLightRed { 
     background: lightpink; 
    } 

小提琴:https://jsfiddle.net/q1fxjg59/1/

+0

酷。在我的腦海裏首先想到的,但是,不知道線性漸變比'重要!'具有更多的優先級,而不是'背景色'! –

+0

謝謝。正在失去理智。 – user1250290