Media Queries: device-pixel-ratio

  • 版本:CSS3
  • 2018.5.9

语法:

device-pixel-ratio<number>

接受min/max前缀:是

取值:

<number>
用以定义设备屏幕的像素密度。不允许负值

说明:

定义设备屏幕的像素密度(即屏幕质量)。
  • 本特性为非标准特性,与resolution特性能力相同,用来定义设备屏幕的质量。
  • 需要注意的是,本特性接受的值是 <number>,不需要单位(但相当于使用了隐式的 dppx 单位);而resolution接受的值是 <resolution>,单位可以是 dpi, dpcmdppx

    下述两种定义效果等同:

    @media (-webkit-max-device-pixel-ratio: 1.49) { … } @media (max-resolution: 1.49dppx) { … }
  • 本特性接受minmax前缀,因此可以派生出min-device-pixel-ratiomax-device-pixel-ratio两个媒体特性。

    简单列举几个应用示例:

    @media screen and (-webkit-device-pixel-ratio){ … } @import url(example.css) screen and (-webkit-min-device-pixel-ratio: 2); <link media="screen and (-webkit-min-device-pixel-ratio: 2)" rel="stylesheet" href="example.css" />

兼容性:

  • 浅绿 = 支持
  • 红色 = 不支持
  • 粉色 = 部分支持
Values IE Firefox Chrome Safari Opera iOS Safari Android Browser Android Chrome
Basic Support 8.0 40.0+#1 40.0+-webkit-#2 8.0-11.1-webkit-#3 40.0+-webkit-#2 8.0-11.3-webkit-#3 4.4+-webkit-#2 28.0-webkit-#3
9.0+#1 29.0+-webkit-#2
  1. 不支持非标准的min/max-device-pixel-ratio媒体查询特性,推荐使用标准特性min/max-resolution替代。
  2. 同时支持标准的min/max-resolution媒体查询特性,推荐直接使用标准特性。
  3. 不支持标准的min/max-resolution媒体查询特性。

示例:

关注编程学问公众号