2011-04-19 25 views
0

我有一個惱人的IE6佈局錯誤IE6 <INPUT TYPE = '文本'/>寬度問題

此屏幕快照顯示該問題:

enter image description here

問題:文本輸入<input type='text' />是大小錯誤。

文本輸入有點怪異。它們的寬度應該是248px(如textarea),並且與標籤的橫向寬度相同。所有其他瀏覽器似乎遵循如下的代碼,但我們的朋友IE6不

.simple_form input[type='text'],.simple_form input[type='email'],.simple_form textarea 
    { 
    width:240px; 
    border:1px solid #ccc; 
    padding:3px 
    } 

我不知道我在做什麼錯在這裏,它的駕駛我堅果。有問題的頁面是here。 IE6中的輸入顯着寬於248像素。在CSS中使用時,IE6是否有理解input[type='text']的問題?

可以發佈更多的代碼

回答

5

IE6不支持attribute selector在CSS。

您將選擇使用IE6兼容方式(如類)的元素。

+4

誰在乎IE6 ..... ya ya我知道我知道客戶正在使用它,但是是啊...... IT SUCKS ... Alex是正確的你需要一個備用選項來選擇你已經爲他們工作的選擇器在IE6中,也許是一個輸入類? – locrizak 2011-04-19 02:16:37

+0

謝謝,這就是答案 - 很高興知道這個 – stephenmurdoch 2011-04-19 02:23:12

1

IE6不支持CSS屬性選擇器。儘量選擇像,而不是執行以下操作:

.simple_form input.text { 
    ... 
} 

另外,記得在box model for IE6的差異。

+0

非常感謝,我會用一個班來解決這個問題。乾杯 – stephenmurdoch 2011-04-19 02:24:15

1

是的,我們的紅頭髮的小孩,根據我的經驗不能很好地解決屬性問題。相反,做類似

.input {/*your styles*/} 

不僅是瀏覽器的適應性,但與CSS重置,你會發現它的瀏覽器持久性以及。

2

除了以前的答案,還記得要保持說,CSS選擇器在一個單獨的選擇器。例如,

input[type="text"], input.text { 
    color: red; 
} 

這將被IE6完全忽略。但...

input[type="text"] { 
    color: red; 
} 
input.text { 
    color: red; 
} 

應該工作。