CSS のサイズと幅と高さのブラウザ解釈の違いに対する解決策

CSS のサイズと幅と高さのブラウザ解釈の違いに対する解決策
まずは例を見てみましょう

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

<!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=”コンテンツタイプ” content=”text/html; charset=gb2312″ />
<title>無題のドキュメント</title>
<スタイル>
#m{高さ:300px;幅:300px;背景:#ccc}
#a{float:left;height:100px;width:100px;background:#f00;}
#b{float:left;height:100px;*height:110px;_height:120px;width:100px;background:#0f0;}
#c{クリア:両方;高さ:100px;幅:100px;*幅:100px;_幅:120px;背景:#00f;}
</スタイル>
</head>
<本文>
<div id=”m”>
<div id="a"></div>
<div id="b"></div>
<div id="c"></div>
</div>
</本文>
</html>

ここでは、それぞれ 3 つの高さを定義します。
最初の通常の定義はすべてのブラウザで有効になります。
2 番目の定義では先頭にアスタリスクが追加されており、IE6 および IE7 では height 属性として認識されますが、Firefox および IE8 では構文エラーとみなされ無視されます。実行順序によると、アスタリスク付きの高さは IE6 および IE7 で実行され、最初の通常の高さは無効 (または上書き) になります。
3 番目の高さの前にはアンダースコアがあります。アンダースコアを有効な高さ属性と見なすのは IE6 のみですが、IE7、IE8、Firefox は "_height" 属性を存在しない属性と見なして実行しませんが、IE6 は実行します。このように、最初の 2 つの高さは IE6 の下線付きの高さでカバーされます。

さて、この例から、異なるブラウザで要素の高さを異なるように設定する場合には、定義を支援するために * と _ の記号を使用できることがわかります。同時に、マイクロソフトはミスに対して寛容な会社だということもわかりました!笑。

ただし、この例の最初の 2 行のドキュメント タイプと名前空間の宣言を削除すると、下線の高さも正常に表示されます。

幅の設定は同じです。

実際の作業では、マージン属性の解釈がブラウザによって異なることがよくありますが、その場合、アスタリスクとアンダースコアが非常に役立ちます。

<<:  Tomcatが親の委任メカニズムを破壊する方法についての簡単な説明

>>:  CSS3 で高さと幅を不定にして垂直と水平に中央揃えするいくつかの方法

推薦する

WeChatアプレットがSMSログインを実装

目次1. インターフェース効果のプレビュー2.uViewのインストール3.uViewの設定3.1 m...

Linux で cmake を使用して MySQL をコンパイルおよびインストールするための詳細なチュートリアル

1. cmakeをインストールする1. cmakeの圧縮パッケージを解凍する [root@mysql...

mysql 8.0.18 mgr のインストールと切り替え機能

1. システムインストールパッケージ yum -y インストール make gcc-c++ cmak...

Linuxファイルコマンドの使用

1. コマンドの紹介ファイル コマンドは、ファイルの種類を識別するために使用されます。ファイル チェ...

XHTML 1.0 リファレンス

機能別に並べ替えNN: このタグをサポートする Netscape の以前のバージョンを示しますIE:...

Vue マルチ選択リスト コンポーネントの詳細な説明

マルチ選択は、すべてのオプションを一覧表示し、ユーザーが Ctrl/Shift キーを使用して複数選...

JSは賞金の重さに基づいて当選確率を計算します

目次1. シナリオ例1.1. 抽選の賞品名を設定する1.2. 各賞の重みを設定する1.3. ラッキー...

Ubuntu 20.04でAliソースを変更する方法

なお、この記事では、単に 20.04 ソースに変更する方法を説明するのではなく、20.04 に基づい...

SpringBoot と Docker の統合の詳細なプロセス

目次1. デモプロジェクト1.1 インターフェースの準備1.2 構成の準備2. Dockerがリモー...

LNMP を展開して HTTPS サービスを有効にする方法に関するチュートリアル

LNMP とは: Linux+Nginx+Mysql+(php-fpm、php-mysql)つまり、...

js を使ってシンプルな虫眼鏡効果を実現

この記事の例では、参考までに簡単な虫眼鏡効果を実現するためのjsの具体的なコードを共有しています。具...

フロントエンドのパフォーマンス最適化を学ぶ準備として、HTMLページのレンダリングプロセスを理解する

現在、フロントエンドのパフォーマンス最適化について学んでいます。適切な解決策を見つけ、パフォーマンス...

Vueはダイアログのカプセル化を実装します

目次Vue2 ライティングVue3プラグインのバージョンの記述Vue3 動的コンポーネントの記述書き...

Serv-U FTPとADの完璧な統合ソリューションの詳細な説明

会社が現在使用しているソリューションを確認するためにバックエンドにログインしました。使用される FT...

Docker+gitlab+jenkins は、ゼロから自動デプロイメントを構築します

目次序文: 1. Dockerをインストールする2. DockerでJenkinsをインストールする...