chromeのinputで本来の高さより小さくなる

以前に書いたinputに入力したテキストの上下が切れるの記事を調べている際に遭遇したのですが、inputに指定するline-heightの値が1.06〜1.12の時だけ本来の高さより小さくなってしまうようだったので、備忘録としてメモしておきます。
確認したバージョンはchromeの 86.0.4240.183 です。

サンプルコード

line-heightの値を変えたinputをいくつか用意して試してみます。

	<div class="item">
		<div>line-height: 1</div>
		<input type="text" style="line-height: 1;">
	</div>
	<div class="item">
		<div>line-height: 1.05</div>
		<input type="text" style="line-height: 1.05;">
	</div>
	<div class="item">
		<div>line-height: 1.06</div>
		<input type="text" style="line-height: 1.06;">
	</div>
	<div class="item">
		<div>line-height: 1.12</div>
		<input type="text" style="line-height: 1.12;">
	</div>
	<div class="item">
		<div>line-height: 1.13</div>
		<input type="text" style="line-height: 1.13;">
	</div>
	<div class="item">
		<div>line-height: 1.2</div>
		<input type="text" style="line-height: 1.2;">
	</div>

jQueryを使って、inputのvalueにそのinputの高さを入れるようにします。

$(function() {
	for (var i = 0; i < $('input').length; i++) {
		var h = $('input').eq(i).outerHeight();
		$('input').eq(i).val('高さ: ' + h + 'px');
	}
});

これで試してみると、chromeでのみ1.06〜1.12の間だけ高さが小さくなっていました。
inputのline-heightを変更するデモページ

inputではなくdivの場合も試してみたのですが、この場合は特に問題なさそうでした。
divのline-heightを変更するデモページ

確認した限りchromeでだけ発生しているようでしたが、通常と比べて1pxほど小さくなるだけなので、普段実装する上では特に問題になることはなさそうです。

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年4月
 123456
78910111213
14151617181920
21222324252627
282930