Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 有条件的评论针对IE8有效吗?_Html_Css_Internet Explorer_Internet Explorer 8_Stylesheet - Fatal编程技术网

Html 有条件的评论针对IE8有效吗?

Html 有条件的评论针对IE8有效吗?,html,css,internet-explorer,internet-explorer-8,stylesheet,Html,Css,Internet Explorer,Internet Explorer 8,Stylesheet,当IE8发布时,下面的代码可以添加条件样式表吗 <!--[if IE 8]> <link rel="stylesheet" type="text/css" href="ie-8.0.css" /> <![endif]--> 我读过一些关于这是否适用于beta版的相互矛盾的报告。我希望有人能分享他们的经验。谢谢。这对我来说很有效——无论是在怪癖模式还是标准合规模式下。但是,当切换到IE8兼容模式时,它不起作用。需要注意的一点是: * + html #t

当IE8发布时,下面的代码可以添加条件样式表吗

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


我读过一些关于这是否适用于beta版的相互矛盾的报告。我希望有人能分享他们的经验。谢谢。

这对我来说很有效——无论是在怪癖模式还是标准合规模式下。但是,当切换到IE8兼容模式时,它不起作用。

需要注意的一点是:

* + html #test[id] { color:lime } 
它确实可以工作,但是如果您正在加载页面/站点本地网络(例如Intranet)默认情况下,它将以IE7模式加载(更新-[*]是一种特殊情况,在标准模式下呈现)

这与微软公司最初的默认标准声明背道而驰

e、 g


工具/兼容性视图设置


全部取消选中

谢谢您的帮助。我发现了解决方案,显然问题在于让每个样式表使用自己的title属性。有一次,除了主样式表之外,我把标题都去掉了,没问题

这是IE8特有的一个奇怪问题——尽管我被告知它应该是这样工作的,这与“样式表偏好”有关——它只会造成问题,因为解决方案要求您删除标题,这在编写脚本时可能会很有帮助,等等——当您需要调用样式表时

无论如何,我不确定这是否是一个bug,或者应该是这样,但我希望微软进一步调查


谢谢

为什么还要为IE8编写单独的样式表呢

如果您已经为IE7进行了调试,则可以强制IE8进入兼容模式,从而显示代码,就像IE8是IE7一样

你要做的就是把这个放在开头的标签下面。在其他任何地方,它都不会起作用

然后,每个项目平均只需要半小时左右的工作,不需要对IE8进行密集的调试

甚至Msn.com也会这样做——有点讽刺,嗯


最近写了一篇关于它的博文:

IE8呈现出比IE7更好的效果,我有IE6、IE7和IE8的样式表;起初,我认为条件注释对IE8不起作用。经过一段时间的实验,我发现IE8没有应用一些规则,只是因为我需要将祖先类或父类放在第一位,例如。 我上了一堂像这样的课

.niceclass{some:properties;more:properties;}

只有当我将其更改为以下内容时,它才起作用:

.parentclass.niceclass{some:properties;more:properties;}

#parentselector.niceclass{some:properties;more:properties;}


顺便说一句,在我的IE8-only css中,我只有一个覆盖规则,其余的几乎像firefox一样呈现,尽管这并没有让我离开FF

就我而言,我想使用css的圆形边框。Vista上的IE8不支持此功能。由于图形是这样的,圆形的边框也会显示一个漂亮的圆形阴影,所以在IE8中页面看起来很糟糕

我尝试使用条件注释,但没有效果,IE8不会计算if-IE表达式,因此不会包含外部样式表

然后我考虑将其置于怪癖/兼容性模式,然而,这仍然不起作用,因为我使用的CSS黑客不再适用于IE8

最后但最不重要的是,我发现了一个可以在兼容模式下正确呈现页面的CSS黑客

* + html #test[id] { color:lime } 
现在,我不知道这是否适用于IE7或以下版本,所以您至少会有三个 你想支持的每个IE版本都有不同的破解方法,例如

* + html #test,
    html+body #test,
    * html body #test
    { color:lime }

我想知道互联网开发者的下一次回归会给我们带来什么。

太好了。还有一个来自Microsoft的非标准扩展。这个扩展非常古老,非常有用,因为它允许非黑客CSS开关为MSIE提供不同的样式表。这个问题早就该解决了。你是说IE7兼容模式吗?否:Beta 2有浏览器模式和文档模式。文档模式允许IE7兼容(以及严格模式和怪癖模式)。浏览器模式有“IE 7”、“IE 8”和“IE 8兼容模式”选项。这就是我的意思。我认为这取决于doctype(不确定,尚未测试):我对Microsoft的理解是,IE 8严格模式会在指定任何有效的HTML doctype后立即触发。不,不正确。如果指定了doctype,则本地网络上的IE8将以IE5(怪癖模式)或IE7(标准模式)呈现。为了查看以真正的IE8标准模式呈现的本地站点,您必须明确地告诉IE您想要它(例如,用户必须选择此选项)Ok有趣-您如何知道这一点?你能提供一些证据吗?当我进入IE8中的开发者工具时,它会报告它在加载本地页面(例如localhost/somepage.html)@Whyamistilltyping时正在运行IE8模式的渲染和浏览器模式-IE博客()会发布有关IE进度的信息。对于IE8 Beta 2(),他们引用:“在默认状态下,公共internet上的所有站点都以internet Explorer 8标准模式显示(兼容性视图关闭),所有内部网站都以internet Explorer 7标准模式显示(兼容性视图打开)。”-他们后来确实更改了此行为(因此我现在正在更新我的答案)从本地计算机加载的页面是一个例外,默认情况下以标准模式呈现……记录的更改发生在IE8 RC1中。请阅读完整评论以了解群集的完整详细信息。。。EricLaw[MSFT]在5天后的评论中“澄清”了:当IE9出现时会发生什么?我认为你不应该在不同的链接样式表中添加相同的标题。几年前,阿菲尔在康克勒也不太管用。
* + html #test,
    html+body #test,
    * html body #test
    { color:lime }