2017-06-23 6 views
1

私は最近、フォントサイズパラメータがわずかに異なるお互いの隣にある入力に合わせなければならないという問題を突きつけました。それは、入力要素の配置を壊すことになります。ここで入力のfont-sizeがインラインブロックの境界を壊すのはなぜですか?

問題を示すために誇張された例:

div input { 
 
    display: inline-block; 
 
    width: 100px; 
 
    height: 34px; 
 
} 
 
.field1 { 
 
    font-size: 50px; 
 
}
<div> 
 
    <input class="field1" type="text" value="test"> 
 
    <input class="field2" type="text" value="test"> 
 
</div>

それを修正するための最良の方法は何ですか?どのように2つの入力要素を隣り合わせに1行に整列させるのですか?

+2

あなたはフォントメトリクスに関わる楽しいの全てで深さより説明するための研究行の高さとベースラインにしたいと思います。しかし、もしあなたが両方の言葉の底がどこにあるのかを見れば、それらが並んでいることが分かります。結果をどのように見せたいかによって、これを修正する方法はたくさんあります。 –

答えて

1

vertical-align: top;この問題の解決に役立つようです。私は入力要素を親コンテナ(この場合はdiv)の先頭に揃えるルールだけを追加しました。

div input { 
 
    display: inline-block; 
 
    width: 100px; 
 
    height: 34px; 
 
    vertical-align: top; /* added */ 
 
} 
 
.field1 { 
 
    font-size: 50px; 
 
}
<div> 
 
    <input class="field1" type="text" value="test"> 
 
    <input class="field2" type="text" value="test"> 
 
</div>

+0

このコードスニペットは問題を解決するかもしれませんが、[説明を含む](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。あなたのコードに説明的なコメントを詰め込まないようにしてください。これは、コードと説明の両方の可読性を低下させます! –

+0

私はもっと多くの説明をくれました。私に教えてくれてありがとう。 @MikeMcCaughan – KyleS

+0

@Kyle実際には正しい答えと思われる。どうして私がそれを思い付かなかったのか、私の自己に尋ねる...--) – wittich

関連する問題