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 ステートメントに結合が多すぎないようにする必要があるのはなぜですか?

推薦する

nginx リバース プロキシでの proxy_pass の実装

フォーマットはシンプルです: proxy_pass URL; URL には、送信プロトコル (htt...

Apache Tika を使用してファイルが破損しているかどうかを検出する方法

Apache Tika は、さまざまな形式のファイルからファイル タイプを検出し、コンテンツを抽出す...

Nginx コンパイル済み nginx - 新しいモジュールを追加

1. 既存のモジュールを表示する nginx の sbin ディレクトリに nginx の sbin...

Linux の MySQL 設定の変更が有効にならない問題の解決方法

背景AWS EC2 を使用するプロジェクトサービスがあります。セキュリティとパフォーマンスを考慮して...

DockerにELKをインストールしてJSON形式のログ分析を実装する方法

ELKとは何ですか? ELK は、Elastic が提供するログ収集およびフロントエンド表示ソリュー...

MySQLでNULL値を判定する際の落とし穴事例

目次序文Mysql の case when 構文:事例実践:要約:序文今日、プログラムを開発している...

Nexusプライベートサーバー構築原理とチュートリアル分析

1つ。 Nexus プライベート サーバーを構築する理由は何ですか?社内の開発メンバーは全員外部ネッ...

docker で golang イメージに基づいて ssh サービスを構築する方法

以下は、docker の golang イメージに基づいて ssh サービスを構築するためのコードで...

CSS のインライン スタイルに変換するソリューション (css-inline)

シーンについて話すメールを送信サードパーティのウェブサイトにHTMLを埋め込む他の編集者の記事をコピ...

Expressプロジェクトファイルディレクトリの説明と詳細な機能の説明

app.js: スタートアップファイル、またはエントリファイルpackage.json: プロジェク...

フロントエンドJavaScriptは関数のカリー化を完全に理解している

目次1. カレーとは何か2. カレーの用途3. カリー化ユーティリティ関数をカプセル化する方法 1....

MySQLコマンドが中国語で入力できない問題の解決方法

問題を見つける最近、MySQL コマンドを使用して MySQL サーバーに接続したときに、以下のよう...

IDEA を使用して Web プロジェクトを作成し、Tomcat に公開する方法

目次ウェブ開発1. Web開発の概要Tomcatのインストールと設定Tomcatをインストールする2...

CSS3で跳ねるボールのアニメーションを実現

私は通常、大手ウェブサイトの特別ページや製品リリースページを訪問するのが好きです。なぜなら、たくさん...

HTML で選択ドロップダウン ボックスのコンテンツが不完全に表示され、部分的にカバーされる問題の解決策

今日、問題が発生しました。クエリ バーのドロップダウン ボックスの内容が長すぎて、一部が隠れてしまっ...