0

假设以下代码:

<div class="content">
<div style="background:url(swoosh.jpg) no-repeat; background-size:100% 100%;" class="top">
<div style="height:42px; align:center;" id="logo">

我的目标是让背景为 swoosh.jpg 的 div 成为一个 class=top 的简单 div

我已经尝试让条件自己工作,但是由于某种原因(语法?)它不能正常工作。

以下是我尝试过的

<div class="content">
<!--[if !IE]>
<div class="top">
<![endif]-->
<!--[if IE]>
<div style="background:url(swoosh.jpg) no-repeat; background-size:100% 100%;" class="top">
<![endif]-->

我应该提到,除了内联 CSS 之外,我不能为这个应用程序使用任何东西——并且无法访问标题。

4

4 回答 4

1

我认为这是如何做你想做的事,但如前所述,如果你有其他选择,这不是最好的做事方式(在 IE9 中测试 - IE10 不适用于条件语句):

<![if !IE]>
<div class="top">
<![endif]>
<!--[if IE]>
<div style="background:url(swoosh.jpg) no-repeat; background-size:100% 100%;" class="top">
<![endif]-->

http://jsfiddle.net/APFZh/2/

IE 10 定位需要一点 JS:

<![if !IE]><!--<script>  
if (/*@cc_on!@*/false) {  
    document.documentElement.className+=' ie10';  
}  
</script><!--<![endif]-->  

这会将“ie10”类附加到 html 元素,但您可以在文档中写入任何您想要的内容

http://www.impressivewebs.com/ie10-css-hacks/

于 2012-12-03T17:23:09.367 回答
1

尝试添加

<!--[if lt IE 7]><html class="ie6"><![endif]-->
<!--[if IE 7]><html class="ie7"><![endif]-->
<!--[if IE 8]><html class="ie8"><![endif]-->
<!--[if gt IE 8]><!--><html><!--<![endif]-->

到 HTML 文档的顶部。然后像这样使用CSS

.content {
      color:red;
    }
.ie6 .content {
      color:blue;
    }
.ie7 .content {
      color:green;
    }

这样,您可以将所有 CSS 保存在一个文件中,并将 IE 类放在非 IE 类旁边。

查看Paul Irish的这份文档

于 2012-12-03T17:19:54.263 回答
0

更好的做法是让 div 带有 class="top" 但在单独的 IE 样式表中为其设置不同的样式,因为不建议使用内联 CSS。

将其放在页面的 HEAD 中:

<!--[if IE]>
<link rel="stylesheet" type="text/css" href="ie.css">
<![endif]-->

至于它不起作用,我建议确保您在页面顶部有一个有效的 DOCTYPE,因为 IE 对此非常挑剔。

于 2012-12-03T17:17:24.273 回答
0

更新如果有人仍然访问此页面,想知道为什么 ie 定位在最近的 IE 浏览器中不起作用。IE 10 及更高版本不再支持条件注释。来自微软官方网站:

Internet Explorer 10 标准和怪癖模式已删除对条件注释的支持,以提高互操作性和与 HTML5 的合规性。

请在此处查看更多详细信息:http: //msdn.microsoft.com/en-us/library/ie/hh801214 (v=vs.85).aspx

如果您迫切需要以 ie 为目标,您可以使用此 jquery 代码添加一个 ie 类,然后在您的 css 中使用 .ie 类来定位 ie 浏览器。

if ($.browser.msie) {
 $("html").addClass("ie");
}
于 2014-12-18T04:51:07.373 回答