検索

css ie互換の書き方

Apr 24, 2023 am 09:09 AM

CSS は Web デザインの非常に重要な部分ですが、異なるブラウザーでの CSS の互換性は非常に厄介な問題です。特に IE ブラウザでは、CSS の互換性の問題がより顕著になります。したがって、CSS スタイルを記述する場合は、IE ブラウザの互換性に注意する必要があります。この記事では、一般的に使用される IE 互換の記述方法をいくつか紹介します。

1. IE ブラウザーの一般的な互換性問題

IE ブラウザーでは、一般的な CSS 互換性問題は次のとおりです:

  1. ボックス モデル: IE6 および IE7 は標準のボックス モデルをサポートしていませんが、IE ボックス モデルを採用しているため、実際の幅と高さを設定するときに、要素の幅と高さが設計上の幅と高さと異なるようにしてください。
  2. PNG24 画像の透明度: IE6 は PNG24 画像の透明度をサポートしていません。IE6 用に透明度を個別に設定するには、JavaScript を使用する必要があります。
  3. フロートのクリア: IE6 はブラウザによるフロートの自動クリアをサポートしていません。フロートを手動でクリアするには、clear:both を使用する必要があります。
  4. 位置決め: IE6 はposition:fixedをサポートしていません。position:absoluteを使用して同じ効果を実現できます。

2. IEブラウザと互換性のある一般的な記述方法

  1. IE6ブラウザでは画像の背景はカバーされません

IE6では、要素に背景画像と背景色の両方が設定されている場合、背景画像がカラーカバレッジは対象外となります。このとき、コンテナ要素に _filter 属性を追加し、その値を「inherit」に設定する必要があります。

<code>.container{
    background:url(images/bg.png) no-repeat;
    background-color:#fff;
    _filter: inherit;
}</code>
  1. IE6ブラウザでは枠線が隠れない

IE6では、2つのブロック要素または2つのインライン要素が接する場合、枠線は隠れません。このとき、空の div を設定することでこの問題を解決できます。

<code><div class="box">
    <div class="inner"></div>
</div>

.box{
    background:#fff;
    border:1px solid #ccc;
    position:relative;
    zoom:1;
}
.inner{
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
}</code>

上記のコードは、position:relativeとzoom:1を設定することでIEブラウザのhasLayoutメカニズムをトリガーし、空のdiv要素を設定することで境界線を表示します。

  1. IE6ブラウザでのマージンの重なりの問題

IE6では、隣接する2つの要素のmargin-topとmargin-bottomが重なると、マージンの重なりが発生します。このとき、マージンの重なりを避けるために、上記の要素にpadding-topを設定できます。

<code><div class="parent">
    <div class="children"></div>  
</div>

.parent{
    padding-top:1px;    
}

.children{
    margin-top:10px;
    height:50px;
    background:#ccc;
}</code>
  1. IE6 での PNG24 画像の透明度の問題

IE6 で PNG24 画像の透明度をサポートするには、画像上に div のレイヤーを置き、その div に JavaScript コードを追加します。

HTML コード:

<code><div class="png">
    <img  src="/static/imghwm/default1.png" data-src="images/logo_bg.png" class="lazy" alt="css ie互換の書き方" >
</div></code>

CSS コード:

<code>div.png{
    position:relative;
    _behavior: expression(
        function( ele ){
            ele.innerHTML = '<span style="display:inline-block;width:' + ele.offsetWidth + 'px;height:' + ele.offsetHeight + 'px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+ ele.getElementsByTagName('img')[0].src + '\',sizingMethod=\'scale\')"></span>';
        }(this)
    );
}</code>

上記のコードでは、_behavior 属性は JavaScript コードを要素にバインドし、その中で実行できます。

  1. IE での固定位置の実装

IE ブラウザでは、position:fixed 属性はサポートされませんが、JavaScript を通じて同様の効果を実現できます。

JavaScript コード:

<code>function fixedPosition() {
    var obj = document.getElementById("fixed_obj");
    var top = (document.documentElement.clientHeight - obj.offsetHeight) / 2 + document.documentElement.scrollTop;
    obj.style.top = top + "px";
}

window.onscroll = fixedPosition;

//初始时就调用一次以免刷新后没有滚动事件而没有效果
fixedPosition();</code>

IE7 以降のブラウザと互換性がある場合は、DOCTYPE を設定する必要があることに注意してください。そうしないと、IE が奇妙なモードでページをレンダリングし、互換性の問題が発生する可能性があります。

この記事は、よく使われる CSS IE 互換の記述方法をまとめたものです。皆様のお役に立てれば幸いです。実際のプロジェクトでは、Web ページの互換性とユーザー エクスペリエンスを向上させるために、IE と互換性のあるより良い記述方法をまとめ、検討し続ける必要があります。

以上がcss ie互換の書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
useState()vs。usereducer():州のニーズに合った適切なフックを選択するuseState()vs。usereducer():州のニーズに合った適切なフックを選択するApr 24, 2025 pm 05:13 PM

ChooseuseState()forsimple,independentstatevariables;useuseReducer()forcomplexstatelogicorwhenstatedependsonpreviousstate.1)useState()isidealforsimpleupdatesliketogglingabooleanorupdatingacounter.2)useReducer()isbetterformanagingmultiplesub-valuesorac

UseState()を使用して状態を管理する:実用的なチュートリアルUseState()を使用して状態を管理する:実用的なチュートリアルApr 24, 2025 pm 05:05 PM

UseStateは、州の管理を簡素化し、コードをより明確にし、読みやすくし、Reactの宣言的な性質と一致するため、クラスコンポーネントやその他の州管理ソリューションよりも優れています。 1)UseStateを使用すると、状態変数を関数コンポーネントに直接宣言することができます。2)フックメカニズムの再レンダリング中に状態を覚えています。

UseState()を使用する時期と、代替の州管理ソリューションを検討するタイミングUseState()を使用する時期と、代替の州管理ソリューションを検討するタイミングApr 24, 2025 pm 04:49 PM

useUsestate()forlocalcomponentStatemanagement; compleartinative forglogic、orperformanceissues.1)useidealforsimple、localstate.2)useglobalStateSolutionSolutionSuxorContextForSharedState.3)OptForreDuxtormobxobxobxobforexSt

Reactの再利用可能なコンポーネント:コードの維持可能性と効率の向上Reactの再利用可能なコンポーネント:コードの維持可能性と効率の向上Apr 24, 2025 pm 04:45 PM

再利用することは、codecodemaintainabilityを抑制することを再生します

Virtual Dom in React:効率的な更新によるパフォーマンスの向上Virtual Dom in React:効率的な更新によるパフォーマンスの向上Apr 24, 2025 pm 04:41 PM

virtualdomisalightweightin-memorycopyofthedomused byRealctuttooptimizeuiupdates.itboostsperformanceByminimizingddomizeddomizedirectdomizedirectdomizedirectdomizedirculation fupdatingthatingdatingdatualdomfirst、その後、applyingonlynlynalychangestotualdom。

HTMLとReactの統合:実用的なガイドHTMLとReactの統合:実用的なガイドApr 21, 2025 am 12:16 AM

HTMLとReactは、JSXを介してシームレスに統合して、効率的なユーザーインターフェイスを構築できます。 1)JSXを使用してHTML要素を埋め込み、2)仮想DOMを使用してレンダリングパフォーマンスを最適化し、3)コンポーネントを通じてHTML構造を管理およびレンダリングします。この統合方法は直感的であるだけでなく、アプリケーションのパフォーマンスを向上させます。

ReactおよびHTML:レンダリングデータと取り扱いイベントReactおよびHTML:レンダリングデータと取り扱いイベントApr 20, 2025 am 12:21 AM

React Reactは、状態および小道具を介してデータを効率的にレンダリングし、合成イベントシステムを介してユーザーイベントを処理します。 1)Counterの例など、UseStateを使用して状態を管理します。 2)イベント処理は、ボタンクリックなどのJSXに関数を追加することにより実装されます。 3)トドリストコンポーネントなどのリストをレンダリングするには、重要な属性が必要です。 4)フォーム処理の場合、FormコンポーネントなどのuseStateおよびe.preventdefault()。

バックエンド接続:Reactがサーバーとどのように相互作用するかバックエンド接続:Reactがサーバーとどのように相互作用するかApr 20, 2025 am 12:19 AM

Reactは、HTTP要求を介してサーバーと対話し、データを取得、送信、更新、削除します。 1)ユーザー操作はイベントをトリガーします。2)HTTP要求を開始する、3)サーバーの応答をプロセス、4)コンポーネントのステータスと再レンダリングを更新します。

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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。