2010-01-21 123 views
11

CSS的樣子:CSS:覆蓋輸入[類型= 「文本」]

input[type="text"] 
{ 
    width: 200px; 
} 

.small 
{ 
    width: 50px; 
} 

我有一些,我想小文本字段。我已經嘗試了一些不同的東西,但無法弄清楚如何獲得指定用,比如說輸入字段,寬度50

文本框呈現有:

<%= Html.TextBox("Order","",new { @class="small", size = 5 }) %> 

Size屬性被忽略, .small不會覆蓋輸入。

+0

類? .............. – Martin 2010-01-21 17:55:17

回答

31

寫一個更多specific selector

例如

input[type="text"].foo 
{ 
    width: 50px; 
} 
+0

完美 - 謝謝。 – chris 2010-01-21 17:57:03

+0

優秀的只是我想要的感謝 – Somedeveloper 2012-11-07 10:00:36

3

你沒有提供太多的信息,但我的猜測是你有css specificity issues。嘗試爲以下設置css規則:

input[type="text"].myClassWithSmallerWidth 
7

問題是,僞類計爲一個類。所以[type = text](一個僞類)與.small具有同等特異性,然後由於添加了輸入,寬度爲200px。

input[type=text]{} /* a=0 b=0 c=1 d=1 -> specificity = 0,0,1,1 */ 
.small{}   /* a=0 b=0 c=1 d=0 -> specificity = 0,0,1,0 */ 

你可能需要

input[type=text].small, .small {width:50px;} 

(按http://www.w3.org/TR/CSS21/cascade.html#specificity

+0

謝謝你解釋爲什麼它是壓倒一切的!我有完全相同的問題,立即知道這是與特異性有關,但無法解決原因,你說清楚了。 – Chris 2013-09-19 11:52:14