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

すべてのブラウザとの完全な互換性を実現するために最適なプリセットを選択してください
各ブラウザの 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 が何回呼び出されるのでしょうか?

推薦する

カルーセル例の JS 実装

この記事では、カルーセルチャートの小さなケースを実装するためのJSの具体的なコードを参考までに共有し...

CSS3実践手法のまとめ(推奨)

1. 丸い境界線: CSSコードコンテンツをクリップボードにコピー境界線の半径: 4px ; 2....

Linux でユーザーをグループに追加する 4 つの方法の概要

序文Linux グループは、Linux でユーザー アカウントを管理するために使用される組織単位です...

1つの記事でJSONPの原理と応用を理解する

目次JSONPとはJSONP 原則JSONP実装1. Ajaxでクロスドメインリクエストが行われると...

IDEA を使用して Web プロジェクトを作成し、Tomcat に公開する方法

目次ウェブ開発1. Web開発の概要Tomcatのインストールと設定Tomcatをインストールする2...

CSS3で作成した画像スクロール効果

成果を達成する実装コードhtml <base href="https://s3-us...

nginxを使用して画像サイズを動的に変換し、サムネイルを生成します。

Nginx ngx_http_image_filter_module モジュール (nginx バ...

JavaScript配列をツリー構造に変換する方法

1. 需要バックエンドは、フロントエンドがツリー構造(重複データなし)に変換するためのデータを提供し...

Redmine の Docker インストール手順

イメージをダウンロードします(オプションの手順です。省略した場合は、手順 3 と 4 で自動的にイン...

Zabbix で監視項目と集約されたグラフを設定するためのサンプルコード

1. ローカルマシンを監視するためにZabbixエージェントをインストールするエージェントソフトウェ...

MySQL 5.7 のルートパスワードログイン問題の解決策

前回の記事でMySQLサービスが起動しない問題が解決したと分かった後、パスワードなしでrootユーザ...

支払いカウントダウンを実現し、ホームページに戻るためのjs

ホーム ページに戻るための支払いカウントダウン ケースの概要: シンプルな js 構文、getEle...

Windows での MySQL 8.X インストール チュートリアル

以前は MySQL 5.7 を使用していましたが、MySQL にいくつか新しい機能が追加されたため、...

Linuxでawkを使用する方法の詳細な説明

awk を学ぶ前に、sed、grep、tr、cut などのコマンドを学んでおく必要があります。これら...

html2canvas を使用して HTML コードを画像に変換する方法

コードを画像に変換するにはhtml2canvas は、ブラウザから Web ページのスクリーンショッ...