すべてのブラウザとの完全な互換性を実現するために最適なプリセットを選択してください

すべてのブラウザとの完全な互換性を実現するために最適なプリセットを選択してください
各ブラウザの select タグのプロパティと各ブラウザのサポートが多少異なるため、各ブラウザでの選択ボックスの表示が異なっていることがわかっています。次に、主要な外観 CSS プロパティをサポートすることで、完全に互換性のある選択を作成します。
選択項目の高さ、パディング、行の高さのデモを作成し、さまざまなブラウザで 3 つの状況をテストしました。height.100.padding.0、height.no.padding.100、no.height.no.padding です。結果はリンクされた画像に示されています。各ブラウザのデモの外観

以下の研究特性を導き出すことができます。

IE6 について

IE7 の

8 です

IE9 について

ff

ch

sf

オプ

デフォルトの高さ

22ピクセル

22ピクセル

19ピクセル

20ピクセル

19ピクセル

19ピクセル

身長

T

T

T

T

T

T

パディング

T

T

T

T

T

行の高さ

T

テキストを垂直に中央揃え

T

T

T

T

T

T


上記の調査結果の属性まとめから、IE6 では設定方法に関係なく高さが 22px に固定されていること、Safari 以外のブラウザでは height 属性をサポートしていることがわかったので、height:22px を設定します。次に、Safari ブラウザを修正します。line-height 属性をサポートしているのは Safari のみであることがわかったので、line-height を使用して高さを 22px に修正できます。font-size が 12px であることを前提として、line-height:22px を設定します。最後に、FF と IE9 のテキストは中央揃えになりません。padding:2px 0 を設定します。FF と IE9 は中央揃えになっていますが、各ブラウザの選択の高さは増加していません。ここで質問があります。高さを設定すると、小さな数値の padding では全体の高さは増加しませんか?
以下は完全に互換性のあるコード例です。

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<ヘッド>
<meta http-equiv="コンテンツタイプ" コンテンツ="text/html; charset=utf-8" />
<title>デモ</title>
<スタイル>
*{パディング:0; マージン:0}
本文{フォントサイズ:12px}
選択{高さ:22px; 行の高さ:18px; パディング:2px 0}
</スタイル>
</head>
<本文>
<div スタイル="margin-top:20px; margin-left:20px; 背景:#000">
<選択>
<option>デモンストレーション質問 1</option>
<option>デモンストレーション質問 2</option>
<option>デモンストレーション質問3</option>
<option>デモンストレーション質問 4</option>
<option>デモンストレーション質問 5</option>
</選択>
</div>
</本文>
</html>

<<:  MySQL タイムブラインドインジェクションの 5 つの遅延方法

>>:  React で複数の setStates が何回呼び出されるのでしょうか?

推薦する

MySQLのさまざまなロックの概念的理解

楽観的ロック楽観的ロックは、主にデータ バージョン記録メカニズムに基づいて実装され、通常はデータベー...

JSを段階的に学ぶ方法についての簡単な説明

目次概要1. jsの位置づけを明確に理解する2. 明確な学習パス3. 自己規律と粘り強さ4. 練習し...

Vue フロントエンドで PDF を生成してダウンロードする方法

目次1. インストールと導入2. PDFファイルをパッケージ化してエクスポートする方法構成の詳細PD...

MySql 組み込み関数の自習知識ポイントまとめ

文字列関数文字ascii(str)のASCIIコード値をチェックし、strが空の文字列の場合は0を返...

JavaScriptイベント実行メカニズムの深い理解

目次序文ブラウザJS非同期実行の原理ブラウザのイベントループ実行スタックとタスクキューマクロタスクと...

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

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

Cronジョブを使用してCpanelでPHPを定期的に実行する方法

cpanel 管理バックエンドを開き、「詳細」オプションの下に「Clock Guardian Job...

中国語と英語のフォント名の比較表(FounderとArphicを含む)

CSS ファイルでは、フォント名が文字化けしていることがよくあります。これは、作成者が中国語フォン...

Vueタイマーの詳細な使い方

この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

モバイルウェブページのサイズ調整を実装する方法

ようやく手元のプロジェクトが終了し、行方不明だった人たちが戻ってきました!プロジェクトを進める過程で...

vue+echartsチャートの使用に関する問題記録

序文echarts は私が最もよく使用するチャート作成ツールであり、非常に完全なエコシステムとコンテ...

CSS3 テキストアニメーション効果

効果 html <div class="sp-container">...

CSS を使用して ul と li の水平配置を実現する 2 つの方法

li はブロックレベル要素であり、デフォルトで 1 行を占めるため、水平方向の配置を実現する場合は、...

検索データ表示を実装するJavaScript

この記事ではJavaScript検索のデータ表示コードを参考までに共有します。具体的な内容は以下のと...