【问题标题】:CSS hack for Chrome on Mac Only - No JavaScript -仅适用于 Mac 上 Chrome 的 CSS hack - 无 JavaScript -
【发布时间】:2012-03-07 13:14:39
【问题描述】:

有没有办法只针对 Mac 上的 Chrome?我用过:

@media screen and (-webkit-min-device-pixel-ratio:0) {

    /* Webkit Styles here */

}

但这会在 WIN 和 MAC 中呈现。

如果这是我唯一的选择,我愿意从另一个角度接近并针对 Mac 的 IE 和 FF。

如果可以避免的话,我也不想使用 JavaScript。

有什么想法吗?

【问题讨论】:

  • 你可以使用jp2 像老派的spacer gif 图像来支持OSX 上Safari 中的布局,但对于Chrome 则没有。

标签: css macos google-chrome


【解决方案1】:

不能用 CSS 做到这一点,可能你必须使用 javascript。

【讨论】:

  • 您不应该因此而被否决。你只是照原样告诉它。
【解决方案2】:

您可以解析 PHP 的 $_SERVER['HTTP_USER_AGENT'] 变量以检测浏览器和操作系统,并根据您的发现检测 echo 浏览器/操作系统特定的样式。这样,即使用户缺少客户端浏览器嗅探所需的 JavaScript,也可以提供适当的样式。

(当然,欺骗他们的用户代理的观众可能会欺骗您的系统提供错误的 CSS,但谁在乎呢?这是他们的用户体验,他们应该知道他们在做什么。)

【讨论】:

  • 这需要您配置 Apache 以通过 php 运行 .css 文件。
  • 怎么样?您可以在您的服务器上拥有特定于浏览器的 CSS 文件,并且在生成 HTML 以提供给查看器的 PHP 文件中,如果满足检测特定浏览器/操作系统配置的 PHP 条件,则回显一个 <link/> 元素,其 href 值是该 CSS 文件的路径。
  • 哦,对不起,我还处于直接在样式表中思考的思维框架中。使用echo <link/> 的问题在于,您必须在包含 CSS 文件的任何地方都包含浏览器检查 - 这在某种程度上违背了使用 CSS 的想法。
  • 确实,就个人而言,我会将该功能放在一个离散的 .inc 文件中,并在我的主模板页面中调用它。当然,这是假设我有一个主模板页面。这也是假设我首先使用 PHP...
  • 这是假设我首先使用计算机,假设我是一个人。什么。
【解决方案3】:

您特别希望在 Mac 上使用 Chrome 解决什么问题?这似乎是一种在 Mac 上的 Chrome 更新以解决您遇到的任何问题时就会中断的事情 - 并且以他们发布更新的速度,很快就会发生。也许您应该编辑您的问题,使其询问您正在处理的原始问题,而不是您尝试尝试的解决方法。

【讨论】:

  • 这是一个:在 osx 和 windows 之间,相同的浏览器之间的行高呈现不同。呃。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-03
  • 2019-03-29
  • 1970-01-01
相关资源
最近更新 更多