1

asp.net-mvc3Webサイトがあります。私はcssを使用してすべてのレイアウトを作成しました。レイアウトはFirefoxとChromeで私が望むものとまったく同じですが、InternetExplorerでは非常に混乱しています。

だから今私はそれを修正しようとしています。

しかし、問題は、FirefoxやChromeを台無しにせずに修正したいということです。

最初からやり直してレイアウトを再構築する必要がありますか?または、特定のブラウザに特定のレイアウトを指定する方法はありますか。

このようなもの:

Internet Explorerがこのcssシートまたはスタイルを使用する場合、それ以外の場合は、私がすでに持っているものを使用します。

4

5 に答える 5

6

これらを使用します(頭に置きます):

IE のすべてのバージョンをターゲットにする

<!--[if IE]>
    <link rel="stylesheet" type="text/css" href="all-ie-only.css" />
<![endif]-->

IE 以外のすべてをターゲットにする

<!--[if !IE]><!-->
    <link rel="stylesheet" type="text/css" href="not-ie.css" />
 <!--<![endif]-->

ターゲット IE 7 のみ

<!--[if IE 7]>
    <link rel="stylesheet" type="text/css" href="ie7.css">
<![endif]-->

ターゲット IE 6 のみ

<!--[if IE 6]>
    <link rel="stylesheet" type="text/css" href="ie6.css" />
<![endif]-->

ターゲット IE 5 のみ

<!--[if IE 5]>
    <link rel="stylesheet" type="text/css" href="ie5.css" />
<![endif]-->

ターゲット IE 5.5 のみ

<!--[if IE 5.5000]>
<link rel="stylesheet" type="text/css" href="ie55.css" />
<![endif]-->

ターゲット IE 6 以下

<!--[if lt IE 7]>
    <link rel="stylesheet" type="text/css" href="ie6-and-down.css" />
<![endif]-->

<!--[if lte IE 6]>
    <link rel="stylesheet" type="text/css" href="ie6-and-down.css" />
<![endif]-->

ターゲット IE 7 以下

<!--[if lt IE 8]>
    <link rel="stylesheet" type="text/css" href="ie7-and-down.css" />
<![endif]-->

<!--[if lte IE 7]>
    <link rel="stylesheet" type="text/css" href="ie7-and-down.css" />
<![endif]-->

ターゲット IE 8 以下

<!--[if lt IE 9]>
    <link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->

<!--[if lte IE 8]>
    <link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->

ターゲット IE 6 以降

<!--[if gt IE 5.5]>
    <link rel="stylesheet" type="text/css" href="ie6-and-up.css" />
<![endif]-->

<!--[if gte IE 6]>
    <link rel="stylesheet" type="text/css" href="ie6-and-up.css" />
<![endif]-->

ターゲット IE 7 以降

<!--[if gt IE 6]>
    <link rel="stylesheet" type="text/css" href="ie7-and-up.css" />
<![endif]-->

<!--[if gte IE 7]>
    <link rel="stylesheet" type="text/css" href="ie7-and-up.css" />
<![endif]-->

ターゲット IE 8 以降

<!--[if gt IE 7]>
    <link rel="stylesheet" type="text/css" href="ie8-and-up.css" />
<![endif]-->

<!--[if gte IE 8]>
    <link rel="stylesheet" type="text/css" href="ie8-and-up.css" />
<![endif]-->
于 2012-04-30T11:53:46.787 に答える
1

条件付き IE スタイルシートが必要です。

IE だけで使用するスタイルシートを作成し、IE 固有のコード内のドキュメント ヘッドに配置します。例えば:

<!--[if IE]>
    <link rel="stylesheet" type="text/css" href="all-ie-only.css" />
<![endif]-->

これにより、すべてのバージョンの IE で all-ie-only.css スタイルシートが呼び出されますが、コードを特定のバージョン、または「IE9 未満」などのバージョンのグループに変更することもできます。

これはすべての情報を含む優れたリソースです - http://css-tricks.com/how-to-create-an-ie-only-stylesheet/ ( Danがこの回答の正確な内容をコピーして貼り付けました)

于 2012-04-30T11:51:51.030 に答える
1

完全な reset.css スタイルシートを使用することで、IE、Safari、Opera、および Firefox 全体で非常に一貫したデザインを得ることができました。

reset.css は、ブラウザーごとに異なるプリセット標準を「0 アウト」し、実際のスタイルシートを白紙の状態で読み込みます。

reset.css と stylesheet-name.css をテストした後でのみ、ブラウザー固有のハックを作成します。これは、複数のブラウザー間で一貫した表示を行うためのベスト プラクティスです。

次のリンクは良い例です: http://meyerweb.com/eric/tools/css/reset/

于 2012-07-24T20:02:30.833 に答える
1

問題 (Quirks モードの使用に関係している可能性が高い) を特定し、対処する必要があります。

すべての IE の問題を解決する特効薬はありません。また、まったく異なるスタイルシートを提供するには、通常、必要以上に多くの作業が必要になります。

条件付きコメントを使用して IE 専用のコードを提供できますが、ほとんどの場合、これは簡単に適用する必要があります。

于 2012-04-30T11:54:01.590 に答える
0

あなたが求めているのは<!--[if IE]>タグです。このウェブサイトはそれを詳しく説明しています。

ただし、将来的には、If IE タグを必要とせずにクロス プラットフォームで動作するサイトを構築できます。それはすべて、CSS とマークアップに依存します。

于 2012-04-30T11:53:20.093 に答える