Chrome、Firefox、IEで入力カーソルの位置がずれる問題の解決方法

Chrome、Firefox、IEで入力カーソルの位置がずれる問題の解決方法
ブラウザで入力カーソルがずれる問題の詳しい説明<br />仕事で問題に遭遇し、解決策を探してみたら、本当にありました!あなた自身の便宜と他の人の便宜のために書き留めてください。

以前、プロジェクトで問題が発生しました。
入力ボックスは背景画像でシミュレートされ、入力テキストが中央に配置されるように、高さは行の高さと同じに設定されています。
FF では、入力をクリックすると、入力カーソルは実際には入力と同じ高さになりますが、テキストの入力を開始すると、カーソルはテキストと同じ高さになります。
Chrome では、カーソルの高さは入力の高さと同じになります。
IE では、カーソルはテキストと同じサイズになります。
なぜそうなるのか今まで理解できなかったのですが、今日ルーブル美術館でクラスメートとの議論を聞いて、ようやくその理由が分かりました。

予備的な結論は次のとおりです。
IE: 行にテキストがあるかどうかに関係なく、カーソルの高さはフォント サイズと一致します。
FF: 行にテキストがある場合、カーソルの高さはフォント サイズと一致します。行にテキストがない場合、カーソルの高さは入力の高さと同じになります。
Chrome: 行にテキストがない場合、カーソルの高さは行の高さと同じになります。行にテキストがある場合、カーソルの高さは入力の上からテキストの下までになります (どちらの場合も行の高さが設定されている場合)。行の高さがない場合は、フォント サイズと同じになります。

解決:
入力の高さを小さく設定し、パディングを使用して埋めることで、基本的にすべてのブラウザで問題を解決できます。

コードをコピー
コードは次のとおりです。

入力{
高さ:16px;
パディング:4px0px;
フォントサイズ:12px;
}

<<:  CSS の div の下の同じ行にある複数の要素を右揃えにする

>>:  Linux RabbitMQ クラスタ構築プロセス図

推薦する

Nginx 仮想ホストを構成する 3 つの方法 (ドメイン名に基づく)

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮...

WeChatアプレットコンポーネントライフサイクルの落とし穴の記録

通常、コンポーネントのライフサイクルは、ビジネス ロジックが始まる場所です。ビジネスシナリオが複雑で...

MySQL 8.0 ウィンドウ関数の紹介と概要

序文MySQL 8.0 より前は、Oracle、SQL SERVER、PostgreSQL などの他...

Centos7はMySQLログに基づいてデータを復元するためのサンプルコードを実装します

導入Binlog ログ、つまりバイナリ ログ ファイルは、データベースに対するユーザー操作の SQL...

Vue 円形パーセンテージ プログレスバー コンポーネントの機能の実装

必要な方はどなたでも参考にしてください。試してみて問題が見つかった場合は、メッセージを残してお知らせ...

Dockerを使用してJenkinsをインストールする方法

目次1. イメージをプルする2. ローカルデータボリュームを作成する3. コンテナを作成する4. J...

MySQL ストアド プロシージャの作成、呼び出し、管理の詳細な説明

目次ストアドプロシージャの概要ストアド プロシージャを使用する理由は何ですか?ストアドプロシージャの...

MySQL btree インデックスとハッシュ インデックスの違い

MySQL では、ほとんどのインデックス (PRIMARY KEY、UNIQUE、INDEX、FUL...

HTML 基本構造_Powernode Java アカデミー

多くの場合、Web ページ開発を学ぶときに最初に印象に残るのは、html または htm サフィック...

MySql の集計関数に条件式を追加する方法

MySQL のフィルタリングのタイミングは、集計関数で使用される where 条件と having ...

JavaScript配列の一般的なメソッドの詳細な説明

目次元の配列を変更しない方法1. 連結文法:パラメータ:戻り値: 2. 参加する文法:パラメータ:戻...

Vue 画像切り抜きコンポーネントのサンプルコード

例:ヒント:このコンポーネントはvue-cropperの二次パッケージに基づいていますプラグインをイ...

Linuxでのソフトウェア(ライブラリ)の更新コマンドの詳しい説明

Ubuntu サーバーにパッケージをインストールする場合、sudo apt-get install ...

jsはウォーターフォールフローのボトムアウトによるデータの動的ロードを実現します

この記事では、ウォーターフォールフローが底に達したときにデータを動的にロードするためのjsの具体的な...

Ubuntu で apt-get を使用して mysql をインストールおよび完全にアンインストールする方法の詳細な説明

1. mysqlをインストールします。 udo apt-getでmysql-serverをインストー...