不同的html页面内容可能会出现在不同的浏览器中

时间:2013-05-15 13:45:22

标签: html css browser conditional

我有一个全屏/背景幻灯片,我的客户喜欢在Internet Explorer 8及更低版本中完全失败。我认为现在尝试解决这个问题远远超出了我的能力,所以如果浏览器是IE8或更低版本的话,我只想把它换成另一个IE安全背景幻灯片(不太好看,但至少是它的东西)。

但是,我知道您可以使用

切换样式表
<!--[if IE]>

等,但样式表依赖于div中的一些基本html标记(下面的示例),我不希望在页面上显示到Internet Explorer ...

        <ul class="cb-slideshow">
        <li><span>Image 01</span><div><h3>Lorem Ipsum Dolor</h3></div></li>
        <li><span>Image 02</span><div><h3>Lorem Ipsum Dolor</h3></div></li>
        <li><span>Image 03</span><div><h3>Lorem Ipsum Dolor</h3></div></li>
        </ul>
  • 如果用户使用IE8或更低版本,如何删除?我正在使用mac,因此在IE中运行很多测试实际上是不可能的,所以我不是在偷懒。

我只需拥有不同的页面或其他内容吗?

提前致谢

4 个答案:

答案 0 :(得分:0)

如果您使用条件注释在<html>标记上设置类,则可以避免使用单独的样式表:

<!--[if lt IE 7]>  <body class="ie ie6 lte9 lte8 lte7"> <![endif]-->
<!--[if IE 7]>     <body class="ie ie7 lte9 lte8 lte7"> <![endif]-->
<!--[if IE 8]>     <body class="ie ie8 lte9 lte8">      <![endif]-->
<!--[if IE 9]>     <body class="ie ie9 lte9">           <![endif]-->
<!--[if gt IE 9]>  <body class="ie">                    <![endif]-->
<!--[if !IE]><!--> <body>                               <!--<![endif]-->
你的风格中的

只需隐藏ul:.lte9 .cb-slideshow { display: none;}

见:

http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

http://misteroneill.com/journal/improved-internet-explorer-targeting-through-body-classes/

答案 1 :(得分:0)

要扩展其中一条评论,您可以将条件评论放在任何位置,这样就可以执行此操作:

<!--[if lt IE9]>// IE-specific slideshow HTML here. <![endif]-->
<!--[if gte IE 9]><!-->// Standard slideshow HTML here (for IE9+ and non-IE browsers) <!--<![endif]-->

答案 2 :(得分:0)

试试这个:

 <!--[if !LT IE 9]><!-->
 <p>Not IE 8 and below and all other browsers</p>
 <!--<![endif]-->

 <!--[if lt IE 9]>
 <p>IE 8 and below </p>
 <![endif]-->

第一个块输出到IE8及以下的所有浏览器。
第二个块输出到IE8及以下。

答案 3 :(得分:-1)

您可以在<div id="browserid" style="display:none">...</div>中定义不同的布局 - 标签,其中browserid是IE,FF等之一。这使得它们默认不可见。

然后定义一个javscript函数,该函数在onpageLoad上调用,并评估navigator.userAgent属性。它包含客户端浏览器名称。根据该值,您可以更改相应的显示样式。