文章内容

2022/1/24 17:20:48,作 者: 黄兵

视网膜显示媒体查询

用于包括高分辨率图形,但仅适用于可以使用它们的屏幕。“视网膜”是“2x”: 

@media
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
    /* Retina-specific stuff here */
}

或其他高分辨率:

/* 1.25 dpr */
@media
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 120dpi){
    /* Retina-specific stuff here */
}

/* 1.3 dpr */
@media
(-webkit-min-device-pixel-ratio: 1.3),
(min-resolution: 124.8dpi){
    /* Retina-specific stuff here */
}

/* 1.5 dpr */
@media
(-webkit-min-device-pixel-ratio: 1.5),
(min-resolution: 144dpi){
    /* Retina-specific stuff here */
}


例子:

假设您在设计中有三个主要断点。这个设计还有一个大的背景图形,你希望它在任何屏幕(视网膜或非视网膜)上看起来都是最好的,并且不浪费任何带宽。您设置了 6 个媒体查询,一个用于每个断点,一个用于视网膜上的每个断点。然后你会一直覆盖背景图像。

@media only screen and (min-width: 320px) {

    /* Small screen, non-retina */
 
  }
 
  @media
  only screen and (-webkit-min-device-pixel-ratio: 2)      and (min-width: 320px),
  only screen and (   min--moz-device-pixel-ratio: 2)      and (min-width: 320px),
  only screen and (     -o-min-device-pixel-ratio: 2/1)    and (min-width: 320px),
  only screen and (        min-device-pixel-ratio: 2)      and (min-width: 320px),
  only screen and (                min-resolution: 192dpi) and (min-width: 320px),
  only screen and (                min-resolution: 2dppx)  and (min-width: 320px) {
 
    /* Small screen, retina, stuff to override above media query */
 
  }
 
  @media only screen and (min-width: 700px) {
 
    /* Medium screen, non-retina */
 
  }
 
  @media
  only screen and (-webkit-min-device-pixel-ratio: 2)      and (min-width: 700px),
  only screen and (   min--moz-device-pixel-ratio: 2)      and (min-width: 700px),
  only screen and (     -o-min-device-pixel-ratio: 2/1)    and (min-width: 700px),
  only screen and (        min-device-pixel-ratio: 2)      and (min-width: 700px),
  only screen and (                min-resolution: 192dpi) and (min-width: 700px),
  only screen and (                min-resolution: 2dppx)  and (min-width: 700px) {
 
    /* Medium screen, retina, stuff to override above media query */
 
  }
 
  @media only screen and (min-width: 1300px) {
 
    /* Large screen, non-retina */
 
  }
 
  @media
  only screen and (-webkit-min-device-pixel-ratio: 2)      and (min-width: 1300px),
  only screen and (   min--moz-device-pixel-ratio: 2)      and (min-width: 1300px),
  only screen and (     -o-min-device-pixel-ratio: 2/1)    and (min-width: 1300px),
  only screen and (        min-device-pixel-ratio: 2)      and (min-width: 1300px),
  only screen and (                min-resolution: 192dpi) and (min-width: 1300px),
  only screen and (                min-resolution: 2dppx)  and (min-width: 1300px) {
 
    /* Large screen, retina, stuff to override above media query */
 
  }


dppx:表示每个 px 的点数。 由于 CSS px 的固定比率为1:96,因此1dppx相当于96dpi。


文章来源:视网膜显示媒体查询

分享到:

发表评论

评论列表