0

良い一日

条件付きスタイルシートを使用して、IE7 以前、および IE8 と IE9 をターゲットにしています。

問題は、それらが互いに上書きすることです。

シナリオ: IE 8 および 9 にスタイルを適用します。IE7 では、そのスタイルは正しく適用されないため、IE7 専用のスタイルシートで新しいスタイルを適用して修正します。!important を使用しない限り、IE7 スタイルシートの新しいスタイルは反映されません。しかし、IE-7 スタイルシートで !important を使用すると、IE8 と 9 のスタイルが再び上書きされます...

どうして??

ありがとうございました

サンプルスタイルが適用された私の含まれているコード:

HTML:

<head>...

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

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

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

CSS:

in IE 8 and 9:

#menuNav ul li#login{                
                float: right;
                margin: 0px;
            }

In IE7:

#menuNav ul li#login{                
                float: none;
                margin: 0px;
            }

!important を使用するたびに、互いに上書きされます...

IE9 と 8 が IE7 スタイルを採用しているのはなぜですか? およびその逆...

4

1 に答える 1

1

コメントを次のように置き換えます。

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

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

<!--[if IE 9]>
<link rel="stylesheet" type="text/css" href="../ie9-only.css" />
<![endif]-->
于 2013-03-07T12:51:20.370 に答える