2013-03-24 77 views
-2

我得到了<div id="head">,我在CSS中放置了我的标志。唯一的问题是它在Internet Explorer中不起作用。所以我想问问,如果在Internet Explorer中打开它,是否有任何方法可以用另一个div替换整个div。我想在Internet Explorer中打开<div id="headIE">并显示该徽标的图像,而不是使用其中不起作用的CSS。在Internet Explorer中替换整个div

谢谢。

例如,这将在谷歌chrome

<div id="head"><h1>Logo</h1></div> 

被打开,但如果它要在Internet Explorer中打开,然后它不会打开<div id="head"><h1>Logo</h1></div>,但它会打开这个。

<div id="headIE"><h1>Logo</h1></div> 
+0

你的问题是不明确的。请提供一些代码并进一步解释。 – 2013-03-24 14:41:00

+0

那么我编辑它。 – Kyrbi 2013-03-24 14:43:58

回答

1

条件注释您可以使用conditional comments像这样:

<!--[if IE]> 
    <div id="headIE"><h1>Logo</h1></div> 
<![endif]--> 
<!--[if !IE]><!--> 
    <div id="head"><h1>Logo</h1></div> 
<!--<![endif]--> 

,但如果你尝试写CSS,在所有浏览器上运行它会更好。

1

以这种方式更改HTML元素ID是跨浏览器兼容性的一种很冒险的方法。你应该尝试写一些可以在你希望支持的不同浏览器上运行的CSS。如果你有一个头部图像问题的例子,那么CSS修复会更清晰。

+0

这是一个巨大的'字体阴影',这将永远需要为Internet Explorer创建。 – Kyrbi 2013-03-24 14:45:38

0

使用IE

<!--[if IE]> 
Special IE logo 
<![endif]--> 
<!--[if !IE]> --> 
Normal logo 
<!-- <![endif]--> 
0

我会建议试图找到一个适用于IE和其他浏览器的解决方案,那么为您的徽标添加图片标签而不是css +文本缩进替换?但是,如果你真的想要你可以通过jQuery来访问IE并改变ID。例如:

if($.browser.msie) { 
    $('#head').attr('id','headIE'); 
} 
0

我使用此代码解决了这个问题:

<div id="head"> 
    <!--[if IE]> 
     <img src="hateIE.png" align="middle"> 
    <![endif]--> 
    <!--[if !IE]><!--> 
     <h1>Mira's</h1><br> 
     <h2>Koding place</h2> 
    <!--<![endif]--> 
</div>