android - 如何定位 dppx 大于 2 但小于 3 的设备

标签 android ios css sass media-queries

<分区>

我正在尝试为具有 2dppx 像素比的设备应用一些 css 规则,为具有 3dppx 或更高像素比的设备应用一些其他规则。

因为我只针对小型设备(手机和平板电脑,但没有视网膜笔记本电脑或电视),所以我有一个围绕其他两个的最大宽度媒体查询。 (已编辑:删除此媒体查询并不能解决问题)。

@media only screen and (max-width: 40em) {

    @media screen and (min-device-pixel-ratio: 2dppx) and (max-device-pixel-ratio: 2.9dppx){
        $base-font-size: 150%;
    }
    @media screen and (min-device-pixel-ratio: 3dppx) {
        $base-font-size: 180%;
    }
}

但是当我在我的 iPhone 5s(2dppx)上运行网络时,我可以看到 base-font-size 等于 180%,所以它似乎采用了错误的样式。为什么会这样?

最佳答案

好吧,问题可能不在于媒体查询本身,而是在于无法更新媒体查询中的 Sass 变量,如其他 Stackoverflow question 中所述.

从接受的答案中,我引用“这根本不可能。因为触发器@media 屏幕和(最大宽度:1170px)发生在客户端。”。

所以我将尝试重写我的代码以避免媒体查询中的变量发生变化。

关于android - 如何定位 dppx 大于 2 但小于 3 的设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35205872/

相关文章:

android - 返回 Activity 后 ProgressBar 未正确更新

java - 如何在 Android 应用程序中将 PDF 文件转换为 DOC 文件

iOS Google Maps API - View 不会快速覆盖 map

html - CSS二背景

css - SmartGWT:从 CSS 应用样式

android - 在 ScrollView/WebView/ListView 中扩展滚动区域

android - 播放 Youtube 视频时出现错误 "There was a issue with network [400]"

ios - RxSwift - 为什么将 ControlProperty 特性包装到驱动程序中?

ios - 一个 View Controller 有两个选项卡栏项

javascript - 不透明的 jQuery 动画不起作用