0

IE に問題があります。現在のプロジェクトで css3 スタイルを使用しています。他のすべてのブラウザーでは、Firefox、chrome、safari でテストしましたが、見た目は素晴らしいです。しかし、IEでは私の部屋のように見えます(見栄えがよくありません)。

アドバイスをお願いします。最近の IE ユーザーの割合は、他のブラウザーに比べて非常に低いことを私は知っています。私の質問は、特に IE をサポートしていないもののために、css3 を標準の CSS に書き直すべきか、それとも単に PHP を使用して、ブラウザーの種類のために内容が正しく見えない可能性があることをユーザーに警告し、推奨するべきかということです。ダウンロード、クロムまたはファイアフォックス?

問題の 1 つの例は、ナビゲーション バーにあります。

<nav>
    <ul>    
    <li>
    <a href="">Home</a>
    </li>                   
<li><a href="about.php">AboutUs</a></li>                        
<li><a href="contact.php">Contact Us</a></li>                   
    </ul>   
</nav>

CSS

nav{
text-align:center;
}
nav li{
text-align:center;list-style: none;
   float: left;
}
nav ul ul {
    display: none;
}

    nav ul li:hover > ul {
        display: block;
    }
    nav ul {
    z-index:50;
    background: #FFFFFF; 
    background: linear-gradient(top, #FFFFFF 0%, #bbbbbb 100%);  
    background: -moz-linear-gradient(top, #FFFFFF 0%, #bbbbbb 100%); 
    background: -webkit-linear-gradient(top, #FFFFFF 0%,#bbbbbb 100%); 
    box-shadow: 0px 0px 9px rgba(0,0,0,0.15);
    padding: 0 20px;
    border-radius: 10px;  
    list-style: none;
    position: relative;
    display: inline-table;
}
    nav ul:after {
        content: ""; clear: both; display: block;
    }

    nav ul li:hover {
        background: linear-gradient(top, #FFFFFF 0%, #FFFFFF 40%);
        background: -moz-linear-gradient(top, #FFFFFF 0%, #FFFFFF 40%);
        background: -webkit-linear-gradient(top, #FFFFFF 0%,#FFFFFF 40%);
    }
        nav ul li:hover a {
            color: #fff;

        }

    nav ul li a {
        display: block; 
        padding: 10px 10px;
        text-transform: uppercase;
        text-decoration: none;
    }
    nav ul li {
    float: left;
}

        nav ul li:hover a {
            color: #760076;
        }

    nav ul li a {
        display: block;
        color: #000000;
        text-decoration: none;
    }
    nav ul ul {
    border-radius: 0px; padding: 0;
    position: absolute; 
    top: 100%;
}
    nav ul ul li {
        float: none; 
        border-top: 1px solid #6b727c;
        border-bottom: 1px solid #575f6a;
        position: relative;
    }
        nav ul ul li a {
            color: #fff;
        }   
            nav ul ul li a:hover {
                background: #FFFFFF;
            }
            nav ul ul ul {
    position: absolute; 
    left: 100%; top:0;
}
4

1 に答える 1

0

たとえば、IE9 の場合:

nav ul {
    :
  background: -ms-linear-gradient(to bottom, #FFFFFF 0%, #BBBBBB 100%);
    :
}

nav ul li:hover {
  background: -ms-linear-gradient(to bottom, #FFFFFF 0%, #FFFFFF 40%);
        :
}

IE10 は同様のルールで動作しますが、ベンダー プレフィックスはありません。

于 2013-08-23T16:04:47.697 に答える