【问题标题】:Is it possible to use different css for IE(any version of ie) and chrome是否可以为 IE(任何版本的 ie)和 chrome 使用不同的 css
【发布时间】:2015-03-06 00:03:57
【问题描述】:

是否可以为 IE(任何版本的 ie)和 chrome 使用不同的 css 选择器?它是一个普通的 top 属性,在两个浏览器中显示不同,需要根据浏览器显式调整

【问题讨论】:

  • 是的,这很正常...欢迎来到前端世界。
  • 虽然你应该多研究一下,IE 10 和 11 实际上不再支持条件 cmets。也就是说,你能提供代码吗?
  • 我进行了搜索,ie9 及更高版本和 chrome 具有几乎相同的特异性,但元素在两种浏览器中的显示仍然不同。我正在 IE11 和 chrome 上测试我的页面

标签: css google-chrome internet-explorer-10 internet-explorer-11


【解决方案1】:

您不能仅在 CSS 中做到这一点。您需要如下所谓的“条件 cmets”:

<!--[if IE 8]>
<p>This is IE 8</p>
<![endif]-->

这些被添加到您的 HTML 中并且可以以多种方式使用。我使用它们的两种主要方式是:

  • 链接到完全不同的 CSS 样式表
  • 更改&lt;html&gt; 或其他父标签上的类并使用CSS 规则选择它的任何子标签

我知道第二个描述可能听起来有点复杂,但实际上很简单,所以这里有一个例子:

<!DOCTYPE HTML>
<!--[if IE 8]>
<html lang="en-US" class="ie8">
<![endif]-->
<![if !IE]>
<html lang="en-US">
<![endif]>
...
<body>
    <div class="someClass"></div>
</body>
...

然后,在您的 CSS 中,使用如下选择器:.ie8 .someClass

【讨论】:

  • CSS 重置也是一个选项,可以帮助使跨浏览器的竞争环境更加均匀。这是用于设置元素默认值的样式表。网上有很多可以免费使用的。
  • 我正在 ie11 和 chrome 上测试我的页面
  • 他们认为 ie10/ie11 符合行业标准,因此没有提供您对这些浏览器的回答中提到的条件 CSS
  • @user74046 提供代码。您想支持 ie10 和 ie11,并且 css 中必须存在导致此问题的错误。
  • @user74046,请参阅我关于使用 CSS 重置的评论。我认为它可以解决您遇到的任何问题。
【解决方案2】:

欢迎来到俱乐部!无论如何,虽然您可以尝试在元素上设置浏览器特定的 CSS,但实际上您不能保证它会像您的目标那样完全工作。因为这取决于这些浏览器如何处理这些 css 类,而您对此无能为力。您可以尝试为 IE 设置不同的 css 类,如下所示:

<!--[if lt IE 9]>
   <html class="ie">
<![endif]-->
<!--[if (!IE) | (IE 9)]><!-->
   <html>
<!--<![endif]-->

请注意,这些实际上是注释行,但 ie 会读取这些行并将用户定义的 css 类“ie”设置为 html 元素(您可能会注意到 Chrome 和 Firefox 忽略了这些语句)。然后你可以使用这个 css,例如;

html.ie div{
    top: 0;
}

处理这些跨浏览器的ie bs真的很烦人,我知道。希望这会有所帮助

【讨论】:

  • 我正在 ie11 和 chrome 上测试我的页面
  • 那么你可以使用
  • 他们认为 ie10/ie11 符合行业标准,因此没有提供您对这些浏览器的回答中提到的条件 CSS
  • 哦,对不起。我以为我有 ie8,但不知何故它更新到 11。它在我的工作正常。如果你愿意,你可以随时告诉 ie 模仿 ie9,方法是把它放在你的脑海中:
  • 我只是想为他的问题找到解决方法。所以如果你能提供为什么它很可怕,你会得到我的感谢。我总是渴望学习
【解决方案3】:

你想达到什么目标?

  • 如果您想补偿浏览器的所有差异,您可以使用例如。现代化

  • 如果你想为 IE 添加特殊的 css 文件,你可以使用 Conditional cmets 它们看起来像这样:

    "

  • 如果你想修复 css 选择器中的某些内容,你可以使用 hack(HACK!意味着不推荐,避免,但如果你真的必须这样做,并且你的头旁边有枪等......)这将产生属性或仅对特定浏览器可理解的 css 类(谷歌这对他们中的许多人来说都是如此),例如。 http://code.tutsplus.com/tutorials/quick-tip-how-to-target-ie6-ie7-and-ie8-uniquely-with-4-characters--net-10575

  • 最后一个选项学习 CSS 并找出你犯错的地方,因为可能某些元素的大小不同,导致与位置顶部有 1-2 px 的差异

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2012-06-16
    • 2010-11-02
    相关资源
    最近更新 更多