2009-10-14 101 views
4

我注意到IE瀏覽器有時會在按鈕文本週圍填充很大的內容。它似乎與按鈕所具有的文本量成比例。這使得非常醜陋的按鈕。IE中的按鈕樣式

由於國際化問題,我很猶豫是否按照固定寬度製作按鈕。寬度百分比也一樣。

人們如何處理像按鈕這樣的造型DIVs?

+0

我沒有IE試驗(因此評論和不回答),但你有沒有嘗試過使用重置樣式表覆蓋所有的默認設置,然後自己定義填充? – 2009-10-14 16:31:06

+0

nope,設置填充只增加了那裏:P太糟糕了。 – mkoryak 2009-10-14 17:23:00

回答

4

下面是對我的作品的修復:

<!--[if IE]> 
<style type="text/css"> 

input { 
    overflow: visible; 
    padding-left:2px; 
    padding-right:2px; 
} 

</style> 
<![endif]--> 
0

我從來沒有,直到你張貼了這個問題,注意到這一點 - 但你說得對。按鈕上的填充量似乎是文本長度的「百分比」,這意味着向按鈕添加更多文本時它會變得更寬。

如果只是要調整的行爲按鈕,這個工程:

input[type='button'] { 
    overflow: visible; 
} 

你不需要做這個條件,因爲它不會影響其他瀏覽器按鈕顯示。您可以將規則更改爲「提交」以及「按鈕」。這將完全刪除自動填充填充,並允許您添加自己的樣式規則。

+1

我的印象是,IE6不支持這些類型的選擇器(包含屬性值)。我錯了嗎? – mkoryak 2009-10-15 15:50:37

+0

@mkoryak:對! – 2010-09-14 16:44:24

+0

嗯。 IE6在這個問題中沒有具體提到。 – Fenton 2010-09-15 07:55:43

-1

我會通過CSS調整按鈕的填充。

input {
padding: 0; }

卸下填充將限制按鈕的大小以適合的內容。

+0

這不起作用,正如我在評論中提到的那樣,這爲已經存在的內容添加了額外的填充 – mkoryak 2009-10-15 15:51:25

-1

確保你這個文檔類型添加到您的頁面的頂部,它不會再這樣了:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

你可以在這是什麼一樣在這裏讀了起來:http://www.w3.org/TR/xhtml1/但基本上它告訴頁面什麼您想要使用的某種HTML。

+0

但是,這肯定不是(X)HTML規範之間的區別,而是瀏覽器決定使用怪癖模式還是at)標準模式。請參閱http://www.quirksmode.org/css/quirksmode.html – Stewart 2009-10-25 16:01:40

+0

@Bertime:DOCTYPE和怪癖/標準模式與IE6和IE7圍繞按鈕文本添加的填充沒有任何關係。即使在標準模式下,甚至使用嚴格的DOCTYPE IE6和IE7仍然繼續添加更多的填充符號按鈕文本。 – 2010-09-14 16:43:46

2

這使得招:

input[type='button'], input[type='submit'] { overflow: visible; } 
/* add above also your desired button padding if you want. */ 

FYI:

  1. 如果你願意,你不必使用IE conditonal評論,因爲這個CSS不打擾按鍵方式displaied其他瀏覽器。
  2. 在IE7上工作,但IE6不支持[type='...']選擇器,因此它將忽略這種風格。對於IE6來說,唯一的方法就是對每個按鈕應用一個類,併爲這樣的類添加相同的CSS { overflow: visible; }
  3. IE8不再需要這個了,因爲他們終於修復了這個問題。