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

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

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

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

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

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

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

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

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

推薦する

js での typeof の使い方を理解するための記事

目次ベース戻り値の型文字列とブール値数値とbigintシンボル未定義関数物体他のよくある質問参照エラ...

MySQL テーブルとデータベースでデータを分割する方法

目次1. 縦方向のスライス1.1 垂直データベース1.2 垂直テーブル分割2. 水平(横断)セグメン...

Vue で動的なスタイルを実現するためのさまざまな方法のまとめ

目次1. 三項演算子の判定2. 動的に設定されるクラス3. 方法判定4. 配列バインディング5. e...

CSS BEM 命名標準の概要 (推奨)

1 BEM命名標準とはBem は、ブロック、要素、修飾子の略語であり、Yandex チームによって...

Div CSS 命名標準 CSS クラスの命名規則 (SEO 標準に準拠)

検索エンジン最適化 (SEO) では実行すべきタスクが多数ありますが、その中でもコードの最適化は重要...

きれいなJavaScriptコードの書き方を教える記事

目次1. 変数意味のある名前を使う不必要なコンテキストを追加しないようにするハードコードされた値を避...

Docker 自動ビルド 自動ビルド実装プロセス図

自動ビルドとは、Docker Hub を使用して、Dockerfile ファイルを含む GitHub...

Vue画像拡大鏡コンポーネントのカプセル化と使用方法の詳細な説明

Vue画像拡大鏡コンポーネントパッケージに基づいて、参考までに具体的な内容は次のとおりです。画像拡大...

ECMAscript の新機能の紹介

目次1. 関数パラメータのデフォルト値1.1 関数パラメータのデフォルト値の指定1.2 分離割り当て...

Angular Cookie の読み取りおよび書き込み操作コード

Angular Cookie の読み取りおよび書き込み操作のコードは次のようになります。 var a...

docker ストレージを使用して Exit を実行すると、サーバーへのファイルのアップロードが失敗する問題と解決策

1. 問題の説明Docker コンテナにインストールされているストレージが終了状態になっているため、...

Webpack での publicPath の使用法の詳細な説明

目次出力出力パス出力.publicPath webpack-dev-server の publicP...

CSS3のtransform属性で実装される4つの機能

CSS3 では、transform 関数を使用して、テキストや画像の回転、拡大縮小、傾斜、移動という...

Linux サーバーのスクリプトを自動的にバックアップする方法 (mysql、添付ファイルのバックアップ)

1.backup.shスクリプトファイルを作成する #!/bin/sh ソースフォルダ=/データ ...

MySQLのルートパスワードをリセットする最も簡単な方法

私の MySQL バージョンは MYSQL V5.7.9 です。古いバージョンを使用してください: ...