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

推薦する

ホバードロップダウンメニューを実装するためのネイティブJS

JS はホバー ドロップダウン メニューを実装します。これは、フロントエンドの面接で遭遇するシナリ...

HTML で 2 列レイアウトを実装する方法の例 (左側は固定幅、右側は適応幅)

HTMLは2列レイアウトを実装し、左側は固定幅、右側は適応幅です。実装1: <スタイル>...

JS での Reduce() メソッドの使用の概要

目次1. 文法2. 例3. その他の関連方法長い間、reduce() メソッドの具体的な使い方を理解...

CSS3 は反転可能なホバー効果を実現します

CSS3 は反転可能なホバー効果を実装します。具体的なコードは次のとおりです。 1.css /*基本...

MySQL DDL による同期遅延を解決する方法

目次序文解決ツールの紹介仕組み使用制限使用上の注意使用例いくつかのパラメータの説明出力例Tencen...

アルバムと写真をアルバムに保存するためのWeChatアプレット

私は現在、Xiao Nian Gao に似たビデオおよびツール アプリを開発しています。ユーザーが作...

フォント宝庫 50 種類の素晴らしい無料英語フォントリソース パート 1

デザイナーは独自のフォント ライブラリを持っているため、プロジェクトの設計時にすぐに使用できます。今...

MySql インデックスの詳細な紹介と正しい使用方法

MySql インデックスの詳細な紹介と正しい使用方法1. はじめに:インデックスはクエリ速度に重大な...

VUE+SpringBootはページング機能を実装します

この記事では主に、Vue + SpringBoot でページ分割されたリストデータを実装する方法を紹...

イメージのパッケージ化とワンクリック展開を実現するためにDockerを組み合わせたアイデア

1. サーバーにDockerをインストールする yumでdockerをインストール設定ファイルを変更...

PostgreSQL データベースにおける varchar、char、text の比較に関する簡単な説明

以下のように表示されます。名前説明する文字可変(n)、varchar(n)長さ制限あり、可変長文字(...

CSS3は、ズームと回転を実現するためにscale()とrotate()を使用します。

1. scale() メソッドズームとは「縮小」と「拡大」を意味します。 CSS3 では、scal...

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

1. システム環境[root@localhost ホーム]# cat /etc/redhat-re...

vscodeカスタムvueテンプレートの実装

vscode エディタを使用して vue テンプレートを作成すると、新しい vue ファイルを作成す...

MySQLでクエリキャッシュを実行する方法と失敗を解決する方法

関数を使用する前にパラメータのプロパティを理解して、関数の使い方をより深く理解する必要があることは誰...