ie8/ie9/ie10/ie11 chrome firefox を区別するための CSS コード

ie8/ie9/ie10/ie11 chrome firefox を区別するための CSS コード

ウェブサイトの互換性のデバッグは本当に面倒です。今日のウェブサイト デザイナーは、以前よりもはるかに多くの作業を行う必要があります。これは、ウェブ ページのコードが IE6 のアクセスを満たす必要がなくなり、多くのブラウザーのアクセスを満たす必要があるためです。大まかに言えば、現時点では少なくとも IE8、IE9、IE10、IE11、Chrome、Firefox のブラウザ要件を満たす必要があります。360 は Chrome カーネルを使用しているため、Chrome の要件を満たしていれば、基本的に 360 の要件も満たしています。 IE ファミリーにはさまざまなバージョンがありますが、なぜ IE はそんなにも細かい変更を好むのでしょうか?これは Web デザイナーにとって大きな問題です。今日は、これらの主要ブラウザの CSS ハック コードをまとめます。

たとえば、既存の CSS コードは次のようになります。

.divコンテンツ{
    背景色:#eee;
}

それでは、コードをいくつかの主流ブラウザと互換性を持たせる方法を書き留めてみましょう。

/* IE8+ */
.divコンテンツ{
    背景色:#eee\0;
}
/* IE8、IE9 */
.divコンテンツ{
    背景色:#eee\8\9\0;
}
/* IE9 */
.divコンテンツ{
    背景色:#eee\9\0;
}

\8\0 構文は間違っているので、この方法で IE8 をハッキングしないでください。上記のコードは IE10 と IE11 を個別にハッキングするものではありません (これら 2 つのブラウザーを個別にハッキングする方法はないようです)。そのため、IE10 と IE11 では IE8+ スタイルが使用されます。

IE ファミリーがハッキングされました。では、Chrome と Firefox ブラウザをハッキングする方法を見てみましょう。

/* クローム */
@media screen および (-webkit-min-device-pixel-ratio:0) {
    .divコンテンツ{
        背景色:#eee;
    }
}
/* ファイアフォックス */
@-moz-ドキュメントのURLプレフィックス() {
    .divコンテンツ{
        背景色:#eee;
    }
}

さらに、このように他のブラウザをハッキングすることもできます

/* Chrome と Opera */
@media すべておよび (最小幅:0) {
    .divコンテンツ{
        背景色:#eee;
    }
}
/* IE9+ */
@media すべておよび (最小幅:0) {
    .divコンテンツ{
        背景色:#eee;
    }
}
/* IE10+ */
@media screen および (-ms-high-contrast: アクティブ)、(-ms-high-contrast: なし) {
    .divコンテンツ{
        背景色:#eee;
    }
}

このようなハッキングを行うと、Web サイトのブラウザの互換性の問題は完全に解決されます。

CSS で IE と Chrome を区別する

/***** スタイルハック ******/

/* IE6 */
 _色: 青;

/* IE6、IE7 */
 *color: blue; /* または #color: blue */

/* IE6以外のブラウザ*/
 色/**/: 青;

/* IE6、IE7、IE8 */
 色: 青\9;

/* IE7、IE8 */
 色/*\**/: 青\9;

/* IE6、IE7 -- !important として使用 */
 color: blue !ie; /* !後の文字列は任意の文字列にすることができます*/

/***** セレクターハック ******/

/* IE6以下*/
* html #uno { 色: 赤 }

/* IE7 */
*:first-child+html #dos { 色: 赤 } 

/* IE7、FF、Saf、Opera */
html>body #tres { 色: 赤 }

/* IE8、FF、Saf、Opera (IE 6、7 以外のすべてのブラウザ) */
html>/**/body #cuatro { 色: 赤 }

/* Opera 9.27 以下、Safari 2 */
html:first-child #cinco { 色: 赤 }

/* サファリ 2-3 */
html[xmlns*=""] body:last-child #seis { 色: 赤 }

/* Safari 3+、Chrome 1+、Opera9+、FF 3.5+ */
body:nth-of-type(1) #siete { color: red }

/* Safari 3+、Chrome 1+、Opera9+、FF 3.5+ */
body:first-of-type #ocho { color: red }

/* saf3+、chrome1+ */
@media screen および (-webkit-min-device-pixel-ratio:0) {
 #diez { 色: 赤 }
}

/* iPhone / webkit カーネル モバイル端末*/
@media screen および (最大デバイス幅: 480px) {
 #veintiseis { 色: 赤 }
}

/* Safari 2 - 3.1 */
html[xmlns*=""]:root #trece { 色: 赤 }

/* Safari 2 - 3.1、Opera 9.25 */
*|html[xmlns*=""] #catorce { 色: 赤 }

/* IE6-8以外のブラウザ*/
:root *> #マルメロ { 色: 赤 }

/* IE7 */
*+html #dieciocho { 色: 赤 }

/* Firefox のみ。1+ */
 #veinticuatro、x:-moz-any-link { 色: 赤 }

/* Firefox 3.0 以降 */
 #veinticinco、x:-moz-any-link、x:default { 色: 赤 }

上記は、IE8/IE9/IE10/IE11 Chrome Firefoxを区別するためのCSSコードの詳細な内容です。IE11 Chrome Firefoxを区別するためのCSSの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

<<:  Vueのprops設定の詳細な説明

>>:  コード標準では、SQL ステートメントに結合が多すぎないようにする必要があるのはなぜですか?

推薦する

Linux CDの意味と使い方

Linux CD とはどういう意味ですか? Linux では、cd はディレクトリの変更を意味します...

Dockerのデフォルトネットワークセグメントの正しい変更手順

背景同僚がセキュリティ プロジェクトに取り組んでおり、AWS サーバーに秘密兵器を展開する必要があり...

Nginx 設定場所のマッチング優先順位の簡単な分析

序文Nginx 構成のサーバー ブロック内の場所は、リクエスト URI を一致させるために使用され、...

MySQLデータベースのマスタースレーブレプリケーションの原理と機能の分析

目次1. データベースのマスター/スレーブ分類: 2. MySQL マスタースレーブの紹介3. マス...

要素ツリーコントロールは、ドロップダウンメニューとアイコンを統合します(ツリー+ドロップダウン+入力)

目次要件:実装手順:この記事では主に以下について説明します: カスタムツリーコントロール<el...

nginx proxy_cache バッチキャッシュクリアスクリプトの紹介

前書き: 以前、公式の nginx proxy_cache を CDN 静的キャッシュとして使用して...

クロスブラウザローカルストレージⅠ

原文: http://www.planabc.net/2008/08/05/userdata_beh...

VMware に Linux システム (Redhat8) と仮想マシンのネットワーク構成をインストールする方法

目次1. VMwareをインストールする1.1 VMwareworkstationsをダウンロードし...

テーブル編集操作を実現する js+Html

この記事では、テーブルの編集操作を実現するためのjs+Htmlの具体的なコードを参考までに共有します...

MySql キャッシュ クエリの原理とキャッシュ監視およびインデックス監視の概要

クエリキャッシュ1. クエリキャッシュの動作原理クエリ ステートメントを実行する前に、MySQL は...

MySQL マスタースレーブレプリケーションの役割と動作原理の詳細な説明

1. マスタースレーブレプリケーションとは何ですか?マスタースレーブレプリケーションは、スレーブデー...

Vue.js での $emit の使用に関する詳細な説明

1. 親コンポーネントは props を使用して子コンポーネントにデータを渡すことができます。 2....

MySQL 8.0.22 winx64 のインストールと設定方法のグラフィックチュートリアル

MySQL-8.0.22-winx64のデータベースインストールチュートリアルは参考になります。具体...

Docker ベースの ELK を素早く構築する方法

[概要] この記事では、自作の Docker プラットフォームをベースに完全な ELK システムを素...

さまざまな解像度やブラウザでウェブページを適切に表示する方法

キーコードは次のとおりです。コードをコピーコードは次のとおりです。 html{高さ:100%; }コ...