【问题标题】:Apply CSS only for Safari?仅为 Safari 应用 CSS?
【发布时间】:2020-12-03 19:34:28
【问题描述】:

是否可以添加一个我只想在 Safari 中显示而不在其他浏览器中显示的 css 块?

【问题讨论】:

标签: css safari


【解决方案1】:

如果您的浏览器是 Safari 或 Chrome(两者共享通用的 Webkit 渲染引擎),以下示例会将您网站的字体颜色设置为绿色。

@media screen and (-webkit-min-device-pixel-ratio:0) {
    body {
        color:green; /* on Safari and Chrome  */
    }
}

这是取自另一个帖子here

【讨论】:

  • 我假设您指的是 Chrome,而不是 Opera。 Chrome 使用 WebKit 引擎,Opera 使用自己的引擎(称为 Presto)。
  • @jhurshman,是的,我做到了,谢谢(周五晚了 :-))
  • @jhursh 它也针对 Opera 9.2
  • 如何进一步向这个 safari 特定的 css 添加媒体查询??
【解决方案2】:

使用 UserAgent 字符串,您可以检查 Safari 和 !Chrome。两者都使用 WebKit 渲染器,并且在 UA 字符串中都有 Safari,但 Chrome 也有“Chrome”。老实说,我只是检查 Webkit 和代码,因为谁知道其他 WebKit 浏览器在他们的 UA 字符串中放了什么。

野生动物园:

Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-HK) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5

铬:

Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/540.0 (KHTML, like Gecko) Ubuntu/10.10 Chrome/8.1.0.0 Safari/540.0

【讨论】:

  • UserAgent 字符串很容易被欺骗。这不是一种可靠的方法。
  • 我并不是说它是最好的方法,但要找到 SAFARI ONLY 几乎是不可能的,所以你尽你所能。
  • css是否使用useragent检查哪个浏览器?
  • 不,我认为您必须在代码中使用 JS 检查并包含适当的样式表。
  • 用户代理可以被欺骗,但是 99.99999% 的浏览网页的人不会欺骗用户代理来绕过小的 css 黑客攻击,所以如果它是最后的手段,它通常是安全的。
【解决方案3】:

使用这个。它仅适用于 Safari。

/* Only for Safari  */
::i-block-chrome, .yourClassName {
     border:1px solid #f00;
}

【讨论】:

    猜你喜欢
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多