【问题标题】:IE not loading specific StylesheetIE 没有加载特定的样式表
【发布时间】:2014-11-03 00:55:17
【问题描述】:

如您所见on this live demo,我有一个网站有两个样式表,一个用于我们心爱的 IE,另一个用于普通浏览器,在其标题中设置如下:

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

尽管我已经检查了很多次它的拼写,但它似乎是正确的,但如果你从 IE(在我的例子中为 IE v11)打开链接,则会加载普通样式表而不是 IE 一个。

为了方便检查是否加载了其他 CSS,理论上,当从任何 IE 打开链接并执行菜单(右下按钮)时,它具有蓝色背景。

这里缺少什么?

IE 样式表具有整个正常的样式表以及它工作所需的附加属性,也许这是错误的,应该只有附加属性..?

【问题讨论】:

  • 我真的开始觉得为了某个特定浏览器的利益而使用备用样式表是一种不好的做法。对我来说,更好地编写 CSS 代码似乎更安全。
  • @j08691 请回复一个答案,并从源中复制适当的文本。
  • @JoeFrambach 我正在等待用户回答这个问题。如果不是,它将由我自己回答和勾选。
  • @durbnpoisn,就我而言,IE 不接受伪元素的不透明度,因此我必须为每个元素设置 opacity:inherit。这使它可以在 IE 上运行,但不能在任何其他浏览器上运行。我希望我可以有一个,但找不到其他选择。这是与不透明度问题相关的问题:stackoverflow.com/questions/25746286/…

标签: css internet-explorer


【解决方案1】:

不再支持条件 cmets

已在 Internet Explorer 中删除对条件 cmets 的支持 10 种标准和怪癖模式,用于提高互操作性和 符合 HTML5。这意味着条件注释现在是 就像在其他浏览器中一样,被视为常规 cmets。这种变化 可能会影响专门为 Windows Internet Explorer 编写的页面或 使用浏览器嗅探来改变其在 Internet 中的行为的页面 探险家。

见:http://msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx

【讨论】:

  • 8 分钟后会打勾。
【解决方案2】:

IE 从 IE10 开始停止支持条件 cmets。 此时,更好的解决方案是基于特性而不是供应商/浏览器来定位 CSS。像modernizr这样的工具真的可以帮助你。

【讨论】:

  • 我会看看 Modernizr,我不是这方面的专家,但我不敢相信我怎么能在没有先看到它的情况下开始考虑几个 CSS。谢谢。
猜你喜欢
  • 2011-09-07
  • 1970-01-01
  • 2016-06-06
  • 2015-04-08
  • 2016-06-11
  • 1970-01-01
  • 2011-10-25
  • 1970-01-01
  • 2014-03-26
相关资源
最近更新 更多