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

推薦する

Docker を使用した nGrinder パフォーマンス テスト プラットフォームの導入プロセスの分析

nGrinderとは何ですか? nGrinder は、スクリプトの作成、テストの実行、監視、結果レポ...

MYSQL ローカルインストールと問題解決

序文この記事はかなり詳細で、少し面倒です。他のチュートリアル ドキュメントでは多くの手順が省略されて...

エラー mysql テーブル 'performance_schema...解決方法

テスト環境は、JDBCドライバを使用してMariaDB 5.7でセットアップされています。 <...

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

この記事ではMySQL 8.0.15のインストールと設定方法を参考までに記録します。具体的な内容は以...

Javascriptでシングルトンパターンを実装する方法

目次概要コードの実装シングルトンパターンの簡易版改良版プロキシバージョンシングルトンモード遅延シング...

Linux で環境変数 JAVA_HOME を変更/設定する方法について簡単に説明します。

1. 永久的な変更、すべてのユーザーに有効# vi /etc/プロファイル//キーボードの[Shi...

Vue コードの読みやすさに関するいくつかの提案

目次1. コンポーネントをうまく活用してコードを整理する1. UIコンポーネントを抽出する2. モジ...

Linux で killall コマンドを使用してプロセスを終了する 8 つの例

Linux コマンドラインには、プロセスを強制終了するためのコマンドが多数用意されています。たとえば...

MySQL: データの整合性

データ整合性は、エンティティ整合性、ドメイン整合性、参照整合性に分けられます。参照整合性:参照整合性...

Dockerを使用してクローンリポジトリを使用してGitイメージを構築する

概要私は 1 年以上 Docker を使用しています。最近、サービスをすばやくオーケストレーションし...

Vue の計算プロパティとプロパティリスニングについての簡単な説明

目次1. 計算プロパティ構文: 1. 省略形:文法: 2. 文章を完成させる: 2. モニタリング(...

プロジェクトを素早く構築するためのvite+vue3.0+ts+element-plusの実装

目次バイト機能使用環境プロジェクトを構築する構成vite.config.ts tsconfig.js...

MySQL スケジュールタスク例チュートリアル

序文MySQL 5.1.6 以降、非常にユニークな機能であるイベント スケジューラが追加されました。...

CSS3 疑似クラスセレクターの簡単なレビュー

序文CSS がフロントエンド開発の基本的なスキルであるならば、「セレクター」は基礎中の基礎です。これ...