iPad Mini 2 的自定义 CSS,视网膜显示屏和@media screen/viewport 设置
Custom CSS for iPad Mini 2, retina display and @media screen/viewport settings
我正在尝试为选定的屏幕尺寸范围指定不同的颜色,但我似乎无法弄清楚 iPad 带 Retina 显示屏的 Mini 2。它根本不遵循像素分辨率的规则,我想知道为什么。
这是我的代码:
/** Retina iPad **/
@media
screen and (-webkit-min-device-pixel-ratio: 1.5),
screen and (-moz-min-device-pixel-ratio: 1.5),
screen and (-o-min-device-pixel-ratio: 1.5),
screen and (min-device-pixel-ratio: 1.5){
body {
background-color: #486ffd;
}
}
/** 1600px non-retina screen **/
@media screen and (max-width: 1600px){
body {
background-color: #770029;
}
}
/** 1000px non-retina screen **/
@media screen and (max-width: 1000px){
body {
background-color: #117700;
}
}
/** 500px non-retina screen **/
@media screen and (max-width: 500px){
body {
background-color: #ffce00;
}
}
/** 300px non-retina screen **/
@media screen and (max-width: 300px){
body {
background-color: #770200;
}
}
现在,当我的 iPad Mini 2 处于纵向模式时,它显示背景颜色 #117700,而当它处于横向模式时,它显示颜色 #770029。为什么它不遵循其分辨率规则:2048x1536?
我的 HTML 里也有这个:
<meta name="viewport" content="width=device-width; initial-scale=1; maximum-scale=3;" />
我已经尝试使用 1.5 和 2 的像素比率,这在之前的问题中已被其他人建议。有帮助吗?
我使用的网站是here,如果你想自己看看
问题已通过按正确顺序放置 CSS 规范解决。
When selectors have an equal specificity value, the latest rule is the
one that counts.
我还补充了:
only screen and (min-resolution: 192dpi)
only screen and (min-resolution: 2dppx)
为了更加贴合和规范
/** 1600px non-retina screen **/
@media screen and (max-width: 1600px){
body {
background-color: #770029;
}
}
/** Retina iPad **/
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (-moz-min-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2/1),
only screen and (min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx){
body {
background-color: #486ffd;
}
}
所以正确的顺序是:LAST 否决 FIRST,这意味着设备宽度需要被视网膜细节所否决。可以在此处阅读更多相关信息 CSS Specificity
我正在尝试为选定的屏幕尺寸范围指定不同的颜色,但我似乎无法弄清楚 iPad 带 Retina 显示屏的 Mini 2。它根本不遵循像素分辨率的规则,我想知道为什么。
这是我的代码:
/** Retina iPad **/
@media
screen and (-webkit-min-device-pixel-ratio: 1.5),
screen and (-moz-min-device-pixel-ratio: 1.5),
screen and (-o-min-device-pixel-ratio: 1.5),
screen and (min-device-pixel-ratio: 1.5){
body {
background-color: #486ffd;
}
}
/** 1600px non-retina screen **/
@media screen and (max-width: 1600px){
body {
background-color: #770029;
}
}
/** 1000px non-retina screen **/
@media screen and (max-width: 1000px){
body {
background-color: #117700;
}
}
/** 500px non-retina screen **/
@media screen and (max-width: 500px){
body {
background-color: #ffce00;
}
}
/** 300px non-retina screen **/
@media screen and (max-width: 300px){
body {
background-color: #770200;
}
}
现在,当我的 iPad Mini 2 处于纵向模式时,它显示背景颜色 #117700,而当它处于横向模式时,它显示颜色 #770029。为什么它不遵循其分辨率规则:2048x1536?
我的 HTML 里也有这个:
<meta name="viewport" content="width=device-width; initial-scale=1; maximum-scale=3;" />
我已经尝试使用 1.5 和 2 的像素比率,这在之前的问题中已被其他人建议。有帮助吗?
我使用的网站是here,如果你想自己看看
问题已通过按正确顺序放置 CSS 规范解决。
When selectors have an equal specificity value, the latest rule is the one that counts.
我还补充了:
only screen and (min-resolution: 192dpi)
only screen and (min-resolution: 2dppx)
为了更加贴合和规范
/** 1600px non-retina screen **/
@media screen and (max-width: 1600px){
body {
background-color: #770029;
}
}
/** Retina iPad **/
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (-moz-min-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2/1),
only screen and (min-device-pixel-ratio: 2),
only screen and (min-resolution: 192dpi),
only screen and (min-resolution: 2dppx){
body {
background-color: #486ffd;
}
}
所以正确的顺序是:LAST 否决 FIRST,这意味着设备宽度需要被视网膜细节所否决。可以在此处阅读更多相关信息 CSS Specificity