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 で高さと幅を不定にして垂直と水平に中央揃えするいくつかの方法

推薦する

Linux コマンドを使用してオーディオ形式を変換および結合する方法

FFmpeg flacをインストールする eric@ray:~$ sudo apt install ...

クールなIoT大画面機能を実現するHTML+VUEページング

効果デモ.html <html> <ヘッド> <メタ文字セット=&qu...

TomcatをダウンロードしてLinuxにインストールする詳細な手順

Linux に触れたばかりの方には、この内容が役に立つかもしれません。Linux にしばらく触れてい...

元のPATHを上書きしてコマンドが見つからないというメッセージが表示されるコマンド失敗の問題を解決する方法

同僚から、LINUX サーバー上の多くのコマンドが (コマンドが見つかりません) というプロンプトで...

メッセージボードにメッセージを追加および削除するための JavaScript

この記事では、JavaScript メッセージ ボードでメッセージを追加および削除する小さな例を詳細...

Navicat で MySQL データベースのパスワードを変更する複数の方法

方法1: SET PASSWORDコマンドを使用するまずMySQLにログインします。フォーマット: ...

MySQL 起動失敗の問題とシナリオ分析

1. ワンストップソリューション1. 問題の分析と特定 # MySQL設定ファイルを見つけて、MyS...

sqlalchemy に基づいて MySQL で追加、削除、変更、クエリ操作を実装する

需要シナリオ:上司は、クロ​​ーラーを使用してMySQLデータベースにデータを書き込んだり更新したり...

MySQL フラッシュリストとダーティページフラッシュメカニズム

1. レビューMySQL の起動後にバッファ プールが初期化されます。バッファ プールは N 個の空...

MySQL トランザクションの概念と使用法の詳細な説明

目次情事の概念取引の状態取引の役割取引の特徴トランザクション構文トランザクション対応ストレージエンジ...

LinuxでSVNサーバーを構築する方法

1: SVNをインストールする yum インストール -y サブバージョン2. 倉庫を作る1: 倉庫...

MySQLインデックスを追加する3つの原則を簡単に理解する

1. インデックスの重要性インデックスは、列に特定の値を持つ行をすばやく見つけるために使用されます。...

Ubuntu 18.04 に Anaconda3 をインストールするための詳細なチュートリアル

Anaconda は、conda、Python、およびそれらの依存関係など、180 を超える科学パッ...

JavaScript でシンプルなタイマーを実装する

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

VueコンポーネントライブラリElementUIはテーブルリストのページング効果を実現します

ElementUIはテーブルリストのページング効果のチュートリアルを実装しています。参考までに。具体...