前端 - 安卓retina屏幕css里边的device-width 判断有问题
PHP中文网
PHP中文网 2017-04-17 11:10:11
0
2
607

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)来计算

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

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(2)
洪涛

將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上的解讀出錯直接忽略,這樣也會落在這個區域裏。

大家讲道理

你可能沒有設置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的概念如果不了解的話,建議你去查一下。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板