2012-04-21 5 views
-2

CSSの<input>要素のline-heightプロパティを明示的に設定しました。しかし、私がファイヤーバグの要素をチェックするとき、この要素のline-heightの値は私がCSSで設定した値ではありません。そして、行の高さの値はCSSで設定した値とは関係がないようです。これにはどのような理由がありますか?line-heightプロパティーが<input>のCSSで設定されていないのはなぜですか?

+0

笑。ここでdownvoteを求める。何の説明もありません。基本的には「CSSに問題があります。なぜですか?」 – alt

+6

関連コードは表示できますか?実際に何が起こっているのかを知らずにデバッグするのは難しいです。 @ジャックソンGaryety downvoteは価値があるが、勘違いしないでください。 – sg3s

+2

[スタックオーバーフローはマインドリーダーやクリスタルボールではありません](http://meta.stackexchange.com/a/128551/133242) –

答えて

3

CSS 2.1仕様でdefinition of line-heightによると、それはブロックのために特定の意味を持っていますコンテナ要素と、置換えられていないインライン要素とは異なる意味を持ちます。置き換えられたインライン要素についての文が見つかりません。input要素は、置き換え要素と見なすことができます。

とにかく奇妙に見えるかもしれませんが、ブラウザはline-heightinput要素で無視しているようです。この問題を回避するには、heightプロパティを設定するか、垂直パディングを設定することを検討してください。しかし、結果はブラウザ間で一貫していません。経験則として、ブラウザの制御下にテキスト入力ボックスをレンダリングする必要がありますが、場合によってはCSSを使用していくつかの機能を調整することもできます。

+0

thx manのポインタのおかげで、heightプロパティが設定され、動作します。 – chaonextdoor

-1

lineheightはFirefoxでレンダリングされませんが、私はIEになると思います。ラインヒートスタイルをインライン要素ではなくブロック要素としてレンダリングする小さなトリックがあります。例えば

これは

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-heightの動作についての実際の情報については、http://reference.sitepoint.com/css/line-height – sg3s

+0

を参照してください。 –

0

ないことがポイントだったが、私はマージン、パディングを指定し、国境を処分した場合は、ここであなたが正確に14pxを得てください:http://jsfiddle.net/mymlyn/Uq5Tt/2/

あなたはそれがあるのdevのツールをチェック(および上記のspecyfying前にあった)場合正確14px:

http://dl.dropbox.com/u/26827941/ScreenShot060.png(クロムdevのツール) http://dl.dropbox.com/u/26827941/ScreenShot061.png(FFで放火魔)

あなたのケースではその理由、あなたの入力フィールドが指定されたidやクラスを持っていることかもしれません

<input id="someID"/> 

とどこか他のあなたのCSSの

input#someID {line-height: 20px;} 

のようなものがあり、andyouことができなかった場合のアイデアのうち、イム

input {line-height: 14px;} 

を設定することで、ケースを、その値を変更しようとしている可能性があります:)

関連する問題