次の入力要素があります (この例では不要な属性を意図的に省略しました)。
<input type="text" style="display: block; height: 40px; font-size: 14px; line-height: 40px"/>
Chrome と Internet Explorer (おそらく Opera も) では、入力内のテキストは垂直方向に中央揃えになります。ただし、Firefox はこの宣言を無視しているようです。display: inline-block;
代わりに設定したり、使用したりしvertical-align: middle;
ても、Firefox では効果がありません。
また、上下のパディングを13px
に設定し、高さを に設定しようとしましたが14px
、これは (font-size と組み合わせると) 要素が40px
高くなります。これは期待どおりに機能します。ただし、末尾の文字 ( g、q、jなど) は下部で切り取られます。
入力ボックス内のテキストを固定の高さで垂直方向に配置するためのクロスブラウザー ソリューションを探しています。入力要素には独自のホバー スタイルとフォーカス スタイルがあるため、要素自体を縦方向に配置してセンタリングを偽装すること40px
は実際にはオプションではありません。
乾杯