前端 - 安卓retina屏幕css里边的device-width 判断有问题

 手机用户2502876217 发布于 2022-11-06 15:33

pre condition

  1. mx4 默认浏览器
  2. meta: width=device-width
  3. window.innerWidth = 384 , window.devicePixelRatio = 3, screen.width = 1152

问题

css// ipad的media query 被适配到了mx4上
@media only screen and (min-device-width : 768px)  and (orientation : portrait) { 
}

iphone下正常 ,同样地问题在华为猫客也有。

猜测的原因: css 里边 device-width的判断按照屏幕分辨率(1152)来计算,不是按照浏览器设置device-width(381)来计算

求大神支招解答!!!!!!

2 个回答
  • 你可能没有设置viewport吧:

    <head>
      ...
      <meta name="viewport" content="width=device-width, target-densityDpi=medium-dpi, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
      ...
    </head>
    

    其中target-densityDpi=medium-dpi比较重要,关于dpi的概念如果不了解的话,建议你去查一下。

    2022-11-12 01:41 回答
  • 将ipad的判断条件补齐:@media only screen and ( min-device-width : 768px ) and ( max-device-width : 1024px ) and ( orientation : landscape ){ /Styles/}

    你可以使用@media screen and (device-width:1152px){ /Styles/ }来检测mx4上使用到的device-width是否等于screen.width。
    but,据我目前的知识,楼主的情况不应该啊,手边没有mx4,测不到。
    当然还有可能的情况是@media only screen and ( min-device-width : 768px ) 在mx4上的解读出错直接忽略,这样也会落在这个区域里。

    2022-11-12 01:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有