【问题标题】:Create CSS for Internet Explorer Only仅为 Internet Explorer 创建 CSS
【发布时间】:2015-06-22 17:57:20
【问题描述】:

我花了很多时间让网站看起来不错,使用 Google Chrome 和 Firefox,但通常情况下,当我在 Internet Explorer 中查看它时,它看起来比开始时更糟糕。我相信有一种方法可以创建一个仅限 IE 的 css 文件,但是我不记得该怎么做。你能指出我正确的方向吗?

我也想知道有没有办法

-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;

为 IE 工作。几年前我研究过这个,我认为当时唯一的选择是让图像创建半径。希望有一些新的工作(越简单越好)。边框半径只是我更改 css 后呈现不同的众多事物之一。

谢谢

【问题讨论】:

  • 你有两个完全不同的问题。
  • 我知道,我的主要问题是第一个问题,我只是懒惰,想知道border-radius 是否有解决方法。它本身似乎不值得提出问题。
  • 什么版本的IE? (我猜是 IE8,因为 IE9 确实支持边框半径,但请说明;它有很大的不同)
  • @Spudley,IE 6 及更高版本。我以为我在 IE 9 上测试过它,但显然没有。但是,无论出于何种原因,该站点所在的办公室仅在其系统上安装了 IE 6。
  • 天哪。另一个IE6使用office。您需要与他们进行认真的交谈。当 IE6 支持最终在一年左右结束时,任何仍在使用它的人都会被砍成碎片。

标签: css internet-explorer


【解决方案1】:

回答您的第一个问题:要仅在 IE 中包含样式表文件,请在您的 <link>ing 中加上条件注释。这是一个关于如何做到这一点的例子:

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

回答你的第二个问题旧版本的 IE 不支持border-radius。不过,IE9 确实支持它。除了使用图像或第三方插件(如jQuery corner)之外,没有其他解决方法。

【讨论】:

    【解决方案2】:

    Internet Explorer 9 及更高版本支持边框半径。较低版本不支持此功能。你可以

    【讨论】:

    • +1 感谢您快速回答我的第二个问题。看起来这些是 IE 的唯一答案。 IE 落后这么远有点可悲,尤其是因为很多人仍在使用它。
    【解决方案3】:

    您正在寻找Conditional stylesheets vs. CSS hacks,而我不得不从最底层挖出一个:PIE CSS3 decorations for IExplorer

    【讨论】:

      【解决方案4】:

      IE 特定的 CSS:

      1. 使用 Modernizr 确定用户浏览器中可用的功能。这会将类添加到 &lt;body&gt; 标记中,然后您可以在样式表中引用该标记,以在给定功能存在或不存在时激活某些样式。

      2. 使用条件 cmets 包含特定于 IE 的样式表。

      3. 使用 IE CSS hack,就像这里描述的那样:http://net.tutsplus.com/tutorials/html-css-techniques/quick-tip-how-to-target-ie6-ie7-and-ie8-uniquely-with-4-characters/

      边界半径:

      IE9 支持此功能,因此您必须使用 IE8 或更早版本(或兼容模式)。

      1. 如果使用较旧的 IE,请忽略它。为一个实际上不会影响网站可用性的功能而支持他们是不值得的。

      2. 使用CSS3Pieborder-radius 功能入侵到IE 中。这是一个 hack,但效果很好(比这里推荐的其他一些更好)。

      【讨论】:

      • 它加载了 Modernizer,但是我除了引用它之外什么也没做。实际上,我什至从未研究过它的用途。它只是 IE 还是其他浏览器也一样?你能提供一个关于它的教程的链接吗(不要走开,我相信我可以通过谷歌找到吨)谢谢。此外,兼容模式下的 IE 9 不会呈现新功能,这很糟糕。
      • Modernizr 在用户浏览器上对一系列特性进行特性检测,并将这些测试的结果提供给 CSS(通过所描述的 body 标签中的类)和 JS(通过带有标志的对象)每次测试)。因此,您可以编写 CSS 和 JS 以根据浏览器的功能进行调整。当然,这主要影响 IE 用户,但有些功能可能只有在最新的浏览器中才有。进行功能检测通常比浏览器检测更好,因为这意味着您不必在每次发布新浏览器版本时都不断更改代码。
      • 非常好,谢谢。我会把这作为我的惯例。
      猜你喜欢
      • 1970-01-01
      • 2018-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多