2012-04-21 74 views
-2

我明確地設置在CSS的<input>元素的line-height財產。但是當我檢查螢火蟲中的元素時,這個元素的line-height值不是我在CSS中設定的值。看起來,行高值與我在CSS中設置的內容無關。這有什麼可能的原因?爲什麼不是<input>我在CSS設置line-height屬性?

+0

笑。在這裏請求downvote。沒有任何描述。你基本上說「我有CSS問題,爲什麼?」 – alt 2012-04-21 05:37:18

+6

我們可以看到您的相關代碼嗎?不知道實際發生了什麼,很難調試。 @JacksonGariety downvote值得,但不要居高臨下。 – sg3s 2012-04-21 05:38:34

+2

[Stack Overflow是不會讀心術或水晶球。(http://meta.stackexchange.com/a/128551/133242) – 2012-04-21 05:40:00

回答

3

根據CSS 2.1規範的definition of line-height,它有塊特定的含義容器元素和非替換內聯元素的不同含義。我無法在那裏找到關於替換的內聯元素的任何聲明,並且一個input元素可以被視爲替換的元素,有點有爭議。

無論如何,奇數因爲它可能看起來,瀏覽器似乎上input元件忽略line-height。作爲一種解決方法,您可以考慮設置height屬性或設置垂直填充。但結果在瀏覽器中不一致。作爲一個經驗法則,我們應該期望在瀏覽器的控制下呈現文本輸入框,儘管在某些情況下可以使用CSS來調整某些功能。

+0

thx man,我設置了高度屬性並且它可以工作。 – chaonextdoor 2012-04-22 03:58:02

-1

在Firefox不會被渲染,但我認爲這將是在IE中的線高。還有一個小竅門,那就是讓lineheight樣式呈現爲塊元素而不是內聯元素。

例如:

這將無法正常工作

span {font-size:12px; line-height:14px} 

但這會:

span {font-size:12px; line-height:14px; display:block;} 
+0

此答案有錯過信息,實際上並沒有那麼有用。除非我們在討論IE6/7,否則在IE或Firefox中如何處理行高並沒有什麼特別的區別,但我只能假定這與以前很不相關。 「'在一個塊區域中包裝'你的行高'」不是正確的措辭,我懷疑你對[內聯和塊級元素之間的區別]有清楚的理解(http://www.impressivewebs.com/difference-塊直列CSS /)。有關LIN高度工作方式的真實信息,請參閱http://reference.sitepoint.com/css/line-height – sg3s 2012-04-21 05:59:33

+0

好的,感謝指針 – 2012-04-21 06:00:45

0

不知道如果是這樣的點,但我指定的margin,padding和擺脫了邊框的,在這裏你有確切14px的:如果你檢查開發者工具是http://jsfiddle.net/mymlyn/Uq5Tt/2/

(並且是specyfying上述前)正是14px的:

http://dl.dropbox.com/u/26827941/ScreenShot060.png(Chrome瀏覽器開發工具) http://dl.dropbox.com/u/26827941/ScreenShot061.png(在FF螢火蟲)

在你的情況下,原因可能是你的輸入字段有一個指定的ID或類,

<input id="someID"/> 

並沒有像

input#someID {line-height: 20px;} 
在你的CSS別的地方

,andyou可能會嘗試通過設置

input {line-height: 14px;} 

如果不是即時改變其價值的情況下出出主意:)

相關問題