<input>
素子は、置換要素の一つであり、CSSで、replaced elementは、その表現CSSの範囲外である元素です。これは、ブラウザのユーザーエージェントスタイルシートからのいくつかの特別なスタイルを持っている、と彼らはなどfont-family
、font-size
、line-height
として、デフォルトで継承されませんし、それらの規則がボックスの高さを決定することができます。
<input type="text">
は
<div class="t">
とその親
<div id="container">
などからこれらのスタイルを継承することができ、
<div id="but">
と同じスタイルを取得することができますように、あなたが作るために、
<property>: inherit;
を設定することで、継承を取得するためにそれらを強制することができ
それらは同じ高さです。
あなたは直接入力ボックスにそれらの特定のスタイルを設定できますが、継承を使用すると、上書きルールから防ぐことができます。また
#container {
font-size: 20px;
overflow: auto;
}
.t,
#but {
float: left;
}
.txt {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
.txt,
#but {
border: 1px solid #999;
padding: 10px;
}
<div id="container">
<div class="t">
<input type="text" class="txt" name="">
</div>
<div id="but"><span>Search</span></div>
</div>
、あなたは私が考える真の場合に<button>
タグの代わりに、<div>
ボタンを使用します。入力フィールドとボタンの高さを同じにするには、同じ値を直接入力する必要があります。padding
#container {
font-size: 20px;
overflow: auto;
}
.t,
#but {
float: left;
}
.txt,
#but {
font-family: inherit;
font-size: inherit;
line-height: inherit;
border: 1px solid #999;
padding: 10px;
}
<div id="container">
<div class="t">
<input type="text" class="txt" name="">
</div>
<button id="but"><span>Search</span></button>
</div>
それはなぜなら 'フォントsize'の追加取得ではないです。あなたが使用しているすべての要素に同じフォントサイズを与えてみてください。それは動作します。 –
デフォルトでは、フォントサイズは13.333pxです。それを14pxに増やしても問題ありません。 –