検索
ホームページウェブフロントエンドhtmlチュートリアルIE6、IE7、FF CSS + DIV の互換性問題に対する包括的なソリューション CSS HACK_html/css_WEB-ITnose

著作権声明: 転載する場合は、記事の元の出典、著者情報、およびこの声明をハイパーリンクの形式で示してください
http://monw3c.blogbus.com/logs/12837657.html

1 . CSS HACK
現在、このメソッドでほぼすべての HACK が解決できます

1. ! important

IE7 での ! important のサポートにより、! important メソッドは IE6 の HACK 専用になりました。覚えておいてください。宣言位置は事前に指定する必要があります。)

}

注: IE7 の

*+html HACK では、HTML の先頭に次のステートメントが必ず含まれるようにする必要があります:



2. ユニバーサルフロートクロージャ (非常に重要!)

float をクリアする原理については、[構造マークアップを使用せずに Float をクリアする方法] を参照してください。
Global CSS に次のコードを追加し、閉じる必要がある div に class="clearfix" を追加するだけで毎回機能します。 .

.clearfix:after

content:".";
visibility:hidden; }
.clearfix

{

display:inline-block;

}

/* IE Mac から隠す */
.clearfix {display:block; }

/* IE Mac から隠すの終了 */

/* clearfix の終わり * /



1, ! important

IE7 の !payment のサポートにより、! important メソッドは IE6 の HACK 専用になりました (記述に注意してください。宣言位置は事前に指定する必要があることに注意してください。)



2 , FireFox の IE6/IE77

*+html および *html は、Firefox ではサポートされていない IE 固有のタグです。また、*+html は、IE7 固有のタグです



注:
*+html の HACK。 IE7 は、HTML の先頭に次のステートメントがあることを確認する必要があります:


2. ユニバーサル float クロージャ (非常に重要!)

float をクリアする原理については、[構造マークアップを使用せずに Float をクリアする方法] を参照してください。
次のコードをグローバル CSS に追加し、閉じる必要がある div に class= を追加します。「clearfix」で十分です。これは繰り返し機能します


3. パディングを設定します。 FF の下の div では幅と高さが増加しますが、IE では増加しません (!重要)
2、中央揃えの問題
1) を同じ高さに設定します。現在の div を渡し、vertical-align: middle を渡します (コンテンツを折り返さないように注意してください)。
2) 水平方向に中央揃えにします (もちろん万能ではありません)
3. aタグ内のコンテンツに対して、display: block;を設定する必要があります(ナビゲーションタグで共通)
4. FFとIEのBOXの理解の違いにより、floatに設定されたdivは次のような問題があります。 IE では二重マージンとして使用します。
5. UL タグには、デフォルトでリスト形式とパディングが含まれます。これは、不要なトラブルを避けるために事前に宣言することをお勧めします。高さの適応性を実現するには、div の高さを追加するのが最善です。

1 CSS の場合。 Firefox ie6 と ie7 のスタイル
現在、ほとんどの場合、ハッキングに ! important が使用されています。ie6 と Firefox のテストでは、正常に表示できます
が、ie7 は ! important を正しく解釈できるため、ページが必要に応じて表示されません。 !ピンを見つけました
IE7 の良いハックは、「*+html」を使用することです。IE7 でブラウズすれば問題ありません。
次のような CSS を書きます:

#1 { color: #333; } /* Moz */
* html #1 { color: #666; } /* IE6 */
*+html #1 { color: #999; } /* IE7 */
すると、フォントの色は、Firefox では #333、IE6 では #666、IE7 では #999 として表示されます。

2 CSS レイアウトのセンタリングの問題
主なスタイル定義は次のとおりです:

body {TEXT-ALIGN: center;}
#center { MARGIN-RIGHT: auto; }
手順:
最初に親要素は TEXT-ALIGN: center を定義します。これは、IE では親要素内のコンテンツが中央に配置されることを意味し、この設定で十分です。
ただし、mozilla の中心に置くことはできません。解決策は、サブ要素を設定するときに「MARGIN-RIGHT: auto;MARGIN-LEFT: auto;」を追加することです
この方法を使用してページ全体を中央に配置したい場合は、使用しないことをお勧めします。 DIV では、複数の div を順番に分割できます。
各分割 div で MARGIN-RIGHT: auto;MARGIN-LEFT: auto; を定義するだけです。

3 ボックス モデルのさまざまな解釈

#box{ //ie6.0 の場合 - width:500px; //ff+ie6.0 の場合}
#box{ width:600px! important // for ff width:600px; //ff+ie6.0 の場合 width /**/:500px; //ie6.0-}

4 浮動小数点によって生成される倍精度の距離
#box{ float:left; 100px ; margin:0 0 0 100px; //この場合、IE は 200px の距離を生成します。 display:inline; //float を無視します。
Block 要素の特徴について詳しく説明します。新しい行で始まり、高さ、幅、行の高さ、余白がすべて制御可能 (ブロック要素) Inline 要素の特徴は、次のとおりです。他の要素と同じ行上では...制御できません。 (インライン要素);

#box{ //インライン要素をブロック要素としてシミュレートできます。 //同じ行に配置する効果を実現します。

5 IE と width高さの問題

IE は min- の定義を認識しませんが、実際には通常の幅と高さを min があるかのように扱います。これは大きな問題です。通常のブラウザでは幅と高さだけを使用すると、幅と高さはまったく設定されません。 IEの下で。
たとえば、背景画像を設定したい場合は、この幅がより重要です。この問題を解決するには、次のようにします:
#box{ width: 80px; height: 35px;}html>body #box{ width: auto; min-height: 35px;}

6 ページの最小幅

min-width は、レイアウトが常に正しいことを保証するために、要素の最小幅が特定の幅未満にならないように指定できる非常に便利な CSS コマンドです。しかし、IE はこれを認識せず、実際には幅を最小幅として扱います。このコマンドを IE で機能させるには、タグの下に
を配置し、クラスを div に割り当てます。
CSS は次のように設計されます:
#container{ min-width: 600px; width:expression(document.body.clientWidth 最初の min-width は通常です。ただし、行 2 の幅には、IE でのみ認識される Javascript が使用されているため、HTML ドキュメントの形式が緩和されます。実際にはJavaScriptの判断により最小幅を実装しています。

7 float をクリアします

.hackbox{ display:table; // オブジェクトをブロック要素レベルのテーブルとして表示します} または .hackbox{ clear:both;}
または追加: (擬似オブジェクト) の後に、設定が発生します通常、コンテンツと組み合わせて使用​​されるオブジェクト Content の後、IE はこの疑似オブジェクトをサポートしません。Ie 以外のブラウザーはサポートします。そのため、IE/WIN ブラウザーには影響しません。これの最も厄介な点は...#box:after{ content: "."; display: block; height: 0; clear: Both; Visibility: hidden;}
8 DIV フローティング IE テキストが 3 つの画像を生成する

左側のオブジェクトはフロートし、右側のオブジェクトのテキストは左側から 3 ピクセル離れた位置に配置されます。 left{ float :left; width:50%;}#right{ width:50%;}*html #left{ margin-right:-3px; //この文が重要です}
HTML コード

9 属性セレクター (これは互換性があるとは見なされません。CSS を非表示にするバグです)

p[id]{}div[id]{}
これは IE6.0 およびそれ以下のバージョンでは非表示であり、FF および OPera で動作します
属性セレクターとサブセレクター まだ違いがあります。サブセレクターの範囲は形式的には狭くなりますが、属性セレクターの範囲は比較的大きくなります。たとえば、p[id] では、id を持つすべての p タグが同じになります。スタイル

10 IE かくれんぼの問題

div アプリケーションが複雑で、各列にいくつかのリンクがある場合、DIV でかくれんぼ問題が発生しやすくなります。
一部のコンテンツは表示できません。マウスでこの領域を選択すると、コンテンツが実際にページ上にあることがわかります。
解決策: #layout に line-height 属性を使用するか、#layout に固定の高さと幅を使用します。ページ構造はできるだけシンプルにしてください。

11 高さ非適応

高さ非適応とは、特に内部オブジェクトが
margin または Paddign を使用している場合、内側のオブジェクトの高さが変更された場合に、外側のレイヤーの高さを自動的に調整できないことを意味します。
例:


pContent in object

CSS: #box {background-color:#eee; }
#box p {margin-top: 20px;margin-bottom: 20px; }

解決策: CSS コード: .1{height:0px;overflow:hidden;} の上下に 2 つの空の div オブジェクトを追加するか、DIV に border 属性を追加します。


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTMLタグの目的は何ですか?HTMLタグの目的は何ですか?Apr 28, 2025 am 12:02 AM

htmltagsareSterentionforturturingwebpages、EnhinceAccessibility、seo、andporformance.1)theyclosedinagure bracketetsandinginging inpairstocreateahierarchStructure.2)semanticagslikeandimproveuserexperienceandseo.3)

自己閉鎖タグとは何ですか?例を挙げてください。自己閉鎖タグとは何ですか?例を挙げてください。Apr 27, 2025 am 12:04 AM

セルフクロージングのlandxmlareTagstatemtatemsem onedinedingsingaseparateclosingtag、SimmarifiedMarkupStructureanddendingCodingInefciency.1)areEssentionalinforementswithoutcontent、2)

HTMLを超えて:Web開発のための重要なテクノロジーHTMLを超えて:Web開発のための重要なテクノロジーApr 26, 2025 am 12:04 AM

強力な機能と優れたユーザーエクスペリエンスを備えたWebサイトを構築するには、HTMLだけでは十分ではありません。次のテクノロジーも必要です。JavaScriptは、Webページに動的とインタラクティブ性を与え、リアルタイムの変更がDOMを操作することで達成されます。 CSSは、美学とユーザーエクスペリエンスを向上させるために、Webページのスタイルとレイアウトを担当しています。 React、Vue.JS、Angularなどの最新のフレームワークとライブラリは、開発効率とコード組織構造を改善します。

HTMLのブール属性とは何ですか?いくつかの例を挙げてください。HTMLのブール属性とは何ですか?いくつかの例を挙げてください。Apr 25, 2025 am 12:01 AM

ブール属性は、値なしでアクティブ化されるHTMLの特別な属性です。 1.ブール属性は、無効化された入力ボックスを無効にするなど、存在するかどうかによって、要素の動作を制御します。 2.彼らの実用的な原則は、ブラウザが異なっているときに属性の存在に応じて要素の動作を変更することです。 3.基本的な使用法は、属性を直接追加することであり、高度な使用法はJavaScriptを介して動的に制御できます。 4.一般的な間違いは、値を設定する必要があると誤って考えており、正しい執筆方法は簡潔にする必要があります。 5.ベストプラクティスは、コードを簡潔に保ち、ブールのプロパティを合理的に使用して、Webページのパフォーマンスとユーザーエクスペリエンスを最適化することです。

HTMLコードをどのように検証できますか?HTMLコードをどのように検証できますか?Apr 24, 2025 am 12:04 AM

HTMLコードは、オンラインバリデーター、統合ツール、自動化されたプロセスを使用するとクリーンになります。 1)w3cmarkupvalidationserviceを使用して、HTMLコードをオンラインで確認します。 2)リアルタイム検証のためにVisualStudiocodeにhtmlhint拡張機能をインストールして構成します。 3)HTMLTIDYを使用して、建設プロセスでHTMLファイルを自動的に検証およびクリーニングします。

HTML対CSSおよびJavaScript:Webテクノロジーの比較HTML対CSSおよびJavaScript:Webテクノロジーの比較Apr 23, 2025 am 12:05 AM

HTML、CSS、およびJavaScriptは、最新のWebページを構築するためのコアテクノロジーです。1。HTMLはWebページ構造を定義します。2。CSSはWebページの外観に責任があります。

マークアップ言語としてのHTML:その機能と目的マークアップ言語としてのHTML:その機能と目的Apr 22, 2025 am 12:02 AM

HTMLの機能は、Webページの構造とコンテンツを定義することであり、その目的は、情報を表示するための標準化された方法を提供することです。 1)HTMLは、タイトルやパラグラフなどのタグや属性を使用して、Webページのさまざまな部分を整理しています。 2)コンテンツとパフォーマンスの分離をサポートし、メンテナンス効率を向上させます。 3)HTMLは拡張可能であり、カスタムタグがSEOを強化できるようにします。

HTML、CSS、およびJavaScriptの未来:Web開発動向HTML、CSS、およびJavaScriptの未来:Web開発動向Apr 19, 2025 am 12:02 AM

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール