0

我的 IE 有问题。我在当前项目中使用了一些 css3 样式。在所有其他浏览器上,我已经在 Firefox、chrome 和 safari 上对其进行了测试,它看起来很棒。但在 IE 上,它看起来像我的房间(看起来不太好)。

我需要一些建议。我知道与其他浏览器相比,如今 IE 用户的百分比非常低。我的问题是我应该将我的 css3 重写为仅标准 CSS,尤其是对于不支持 IE 的那些,或者我应该惹恼它,并且只是使用 PHP 来提醒用户包含可能不正确,因为他们的浏览器类型并推荐他们下载,chrome还是firefox?

问题之一的一个例子是导航栏。

<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 回答