2010-03-29 113 views
0

我想設置一個輸入框與特定的內部高度,以及我快到問題:輸入框的高度發出

font-size: 12px; line-height: 12px; height: 12px; display: block; padding: 5px; 

是什麼,我把內嵌樣式或樣式表的樣本。我希望輸入框的值是在全高度可見的,但是輸入框的內部高度最終成爲真正的小,它似乎總是遵循以下形式:

actual inner height = css height - 2*border width - 2*padding 

搞笑,因爲我發誓我以前做過這個沒有問題。我錯過了什麼?

+0

你是否檢查過html中的maxlength和size屬性? – Knu 2010-03-29 01:04:46

+0

@Knu:這隻影響輸入框的長度(寬度)。 – 2010-03-29 01:05:38

回答

3

你給出的公式會計算一些Internet Explorer版本。所以也許你使用一個非常老的瀏覽器? ;)

閱讀關於Wikipedia上的錯誤。據這篇文章中,錯誤仍然存​​在於所有IE瀏覽器,如果頁面渲染"quirks mode」,這是觸發:

  • 當文檔類型聲明不存在或不完整;
  • 當遇到HTML 3或更早版本的文檔;
  • 當使用HTML 4.0 Transitional或Frameset文檔類型聲明並且系統標識符(URI)不存在時
  • 當SGML註釋或其他無法識別的內容出現在文檔類型之前聲明
  • 當文檔中的任何地方存在錯誤時
  • 如果在文檔類型聲明之前有一個XML聲明,Internet Explorer 6也會使用怪癖模式。

也許你有一些錯誤在你的頁面....

,或者你使用Firefox和我完全錯過了點。

+0

我很熟悉怪癖模式。有趣的是,如果是怪癖模式,邊界寬度將不會涉及高度計算,這讓我不得不問這個問題。 它發生在瀏覽器和操作系統的一致性。 但是,您提到的怪癖模式的原因,特別是粗體**「當文檔中的任何地方出現錯誤時」**都將我引向原因。 我加了一個完整的DTD,問題就消失了。謝謝! – 2010-03-29 01:11:57

+0

@Steven Xu:這是我今天的幸運猜測;) – 2010-03-29 01:13:13