フォーム要素とプロンプトテキストが揃っていない問題

フォーム要素とプロンプトテキストが揃っていない問題

最近のプロジェクトでは、多くのフォーム、特にチェックボックスとラジオボタンの作成が含まれます。しかし、フロントエンドの開発プロセス中に、単一の(チェック)ボックスとその背後のプロンプトテキストを設定なしでは揃えることができず、Firefox と IE の間に大きな違いがあることが判明しました。 vertical-align: middle を設定しても、完全に揃えることはできません。次の図に示すように:

そこで、オンラインでいくつかの Web サイトを調べたところ、次の図 (FF3.5) に示すように、この問題はよくあることがわかりました。

フォーム ページを含む多くの Web サイトでは、フォーム要素とプロンプト テキストを揃えることができないという問題があります。そこで私はこの問題を研究することにしました。まず、wheatlee の記事「vertical-align についてはそれぞれ意見がある」を検索しました。ウィートリー氏は記事の中で、垂直方向のセンタリングに関するいくつかの重要な点について言及しています。

1. vertical-align: middle を使用すると、要素の中心が周囲の要素の中心に揃えられます。

2. ここでの「中心」の定義は、画像の高さが当然半分で、テキストはベースラインから 0.5ex 上、つまり小文字の「x」の中心にある必要があるということです。ただし、多くのブラウザでは ex 単位を 0.5em と定義しているため、必ずしも x の正確な中心とは限りません (ベースラインなどの用語がわからない場合は、まず wheatlee の記事を読んでください)

この考え方に沿って、私が遭遇した問題と比較すると、最初に思い浮かんだのは、ブラウザが「チェックボックス」と画像をレンダリングするために同じルールを使用しているかどうか(チェックボックスを正方形の画像として扱っているかどうか)を確認することでした。次のコードを記述します。

<スタイル>
本文{フォントサイズ:12px;}
</スタイル>
<input style="vertical-align:middle;" name="test" type="checkbox">
<img style="vertical-align:middle;" src="testpic.gif" />
テストテキスト

コード内の testpic.gif は、チェック ボックスとまったく同じサイズの黒い画像です。 FF3.5での表示は次のようになります。


前のページ1 2 3 4 次のページ 全文を読む

<<:  MySQL での and or クエリの優先度分析

>>:  Docker の Windows ストレージ パス設定操作

推薦する

JavaScript配列の組み込みメソッドの詳細な説明

目次1. Array.at() 2. Array.copyWithin() 3. 配列.entrie...

MySQL InnoDB ロックの概要

目次1. 共有ロックと排他ロック2. 意図ロック3. レコードロック4. ギャップロック5. ネクス...

Linuxはlsof/extundeleteツールを使用して、誤って削除されたファイルやディレクトリを復元します。

序文Linux には Windows のような目立つごみ箱がないため、簡単に復元することはできません...

html.cssオーバーフローの包括的な理解

html.cssオーバーフローの包括的な理解XML/HTML コードコンテンツをクリップボードにコピ...

Mac Docker x509証明書の問題を解決する

質問最近、プライベートミラーセンターにログインする必要がありましたが、ログイン時にエラーメッセージが...

TypeScript 名前空間のマージの説明

目次同じ名前の名前空間をマージする名前空間とその他の種類のマージ同じ名前の名前空間とクラスをマージす...

Linux と最もよく使用されるコマンドの紹介 (習得は簡単ですが、問題の 95% 以上を解決できます)

Linux は現在最も広く使用されているサーバー オペレーティング システムです。Unix をベー...

JSはクリックドロップ効果を実装します

jsはクリックとドロップの特殊効果を実現します。まずは効果画像を見てみましょうさっそく始めましょう。...

Dockerコマンドの自動補完の実装

序文この友人がどれくらいDockerを使っていなかったのかは分かりませんが、突然Dockerコマンド...

Linux (CentOS) システムで MySQL データベース ディレクトリの場所を変更する方法

CentOS システムで MySQL データベース ディレクトリの場所を変更する方法1. まず、My...

CSS を使用して三角形を実装する一般的な手法 (複数の方法)

面接の経験によっては、CSS に関する質問がよく見られ、CSS を使用して三角形を描画する方法につい...

MySQL テーブルの読み取り、書き込み、インデックス作成、その他の操作の SQL ステートメントの効率最適化の問題を分析します。

前回は、Explain 実行プランの表示、インデックスの分析など、MySQL での SQL クエリの...

Reactは感情を使ってCSSコードを書く

目次導入:感情のインストール:一般的な CSS コンポーネントを追加します。既存のコンポーネントにス...

Webリクエストと処理のTomcatソースコード分析

目次序文1. エンドポイント2. 接続ハンドラ3. コヨーテ4. コンテナ責任チェーンパターン序文T...

MySQLデータ行と行オーバーフローのメカニズムの詳細な説明

1. 行の形式は何ですか? MySQL の行形式の設定は次のように表示されます。 実際、MySQL ...