html - 是否可以为每个浏览器创建一个媒体查询?

标签 html css mobile media-queries

我正在创建一个移动网站,我正在为每个设备尺寸创建不同的样式表,但我还想为每个浏览器创建一个样式表,因为有些样式在所有地方都不兼容。有没有一种方法可以创建媒体查询来指定浏览器,甚至是版本?

愚蠢的例子:

<link rel="stylesheet" media="screen and (browser:chrome)" href="example.css" />

谢谢

最佳答案

不,没有。这通常是浏览器供应商不希望发生的事情(我曾经为一个公司工作),所以即使有,我怀疑他们会非常犹豫是否实现它。例如,看看由于开发人员浏览器嗅探并提供损坏的代码,或者不提供一些需要的代码,他们如何不断更改用户代理字符串。

从技术上讲,如果浏览器支持带有供应商前缀的媒体查询规则,那么您可以定位该浏览器,但是:

  1. 它将针对实现该查询的该浏览器的所有版本,包括可能没有您正在解决的错误的 future 版本
  2. 如果其他浏览器也支持该查询,它还将针对使用相同前缀的其他浏览器
  3. 该查询需要申请才能工作,因此您不能保证它一定会工作
  4. 可以随时删除该媒体查询,即使浏览器仍然存在您正在解决的相同错误
  5. 有前缀的媒体查询通常是非标准的(因为标准的都是在没有前缀的情况下实现的,所以你会使用无效的代码)

对于 IE,您可以使用 Conditional Comments 定位单个版本.但是,根据 HTML5 解析规则,条件注释无效。因此,当 IE 移至 IE10 中的 HTML5 解析器时,他们放弃了对它们的支持以兼容 HTML5。因此,您只能使用条件注释定位 10 以下的 IE 版本。

关于html - 是否可以为每个浏览器创建一个媒体查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16825556/

相关文章:

javascript - 在 HTML 文件内的图像上创建十字

javascript - 如何在 jQuery 中包装两个元素的组?

css - 有没有办法在网站中找到未使用的 CSS?

jquery - 如何更改 jQuery 日历中特定日期的字体颜色?

html - 在 HTML 选择选项中设置上标元素的样式

CSS 中的 Python 变量

javascript - 如何让 Accordion 默认不展开?

html - 段落文字溢出页面

javascript - 移动菜单 - 在移动设备上直接出现

objective-c - 什么时候使用手机的母语比使用 Phonegap/Titanium/Rhomobile 更好