2012-07-11 38 views
4

在我以前从未见过的IE中存在一个奇怪的问题。CSS选择器不适用于IE7和IE8

一大堆我的选择器在IE7和IE8中根本没有应用。他们在IE9和良好的浏览器中工作得很好。

要查看实际效果,请关注本站左上角的徽标:www.rtotv.com.au。在IE9中使用的开发工具(F12),发现这个元素:

<body> 
    <div class="container"> 
    <header class="row header clearfix"> 
     <h1 class="span3 logo"> 
     <a title="RTO TV Home" class="ir" href="/"> <--this element 

的styles.css的样式表加载的罚款,并在.IR类应用,但作为一个例子,这种风格的选择不会应用ALL在IE7 & 8,但完全在IE9:

header h1.logo a {} 

如果我能找出这里发生了什么,我相信我能修复网站的其余部分,但现在,这是完全摧毁IE7中的网站& 8.

+0

另请参阅http://stackoverflow.com/questions/4859716/how-can-i-use-html5-in-all-browsers-including-ie7-8 – Raedwald 2012-10-12 15:00:14

回答

4

本网站使用HTML5构建,不支持ie7和ie8,ie9完全不支持。

看看对Modernizr的:

Modernizr的是一个开源的JavaScript库,可以帮助你构建下一代HTML5和CSS3供电的网站。

,或者你想用,因为IE支持标签

2

这不是suporting HTML5取代navsectionheader标签重新使用因素XHTML您的HTML。添加以下脚本来在IE中呈现html5。然后添加一个类到头元素,然后使用该类的样式。

document.createElement("article"); 
document.createElement("footer"); 
document.createElement("header"); 
document.createElement("hgroup"); 
document.createElement("nav"); 
+0

不要忘记为每个人添加CSS元素“重置”使用上述脚本创建的HTML5元素以显示块(默认为内联)。 – 2012-09-10 23:27:27

1

您也可以使用shiv“填补空白”。