关于移动网络的每篇文章都提到了这一点,但是我找不到任何地方可以确切解释此属性的确切含义。
任何人都可以详细说明这种查询会检查什么吗?
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (-o-device-pixel-ratio: 3/2),
only screen and (min-device-pixel-ratio: 1.5) {
//high resolution images go here
}
器件像素比率是物理像素和逻辑像素之间的比率。例如,iPhone 4和iPhone 4S报告的设备像素比率为2,因为物理线性分辨率是逻辑线性分辨率的两倍。
公式为:
哪里:
是 物理线性分辨率
和:
是逻辑 线性分辨率
其他设备报告的设备像素比率不同,包括非整数。例如,诺基亚Lumia 1020报告为1.6667,Samsumg Galaxy S4报告为3,苹果iPhone
6 Plus报告为2.46 (来源:
dpilove
)。但这在原则上不会改变任何内容,因为您永远不应该为任何一种特定的设备进行设计。
CSS“像素”甚至没有定义为“某个屏幕上的一个像素”,而是定义为视角 的非线性角度测量值
,在手臂长度处大约为一英寸。
对于网页设计,这具有很多含义,例如准备高清图像资源并以不同的设备像素比率仔细应用不同的图像。您不想强迫低端设备下载高分辨率的图像,而只是在本地进行缩小。您也不想让高端设备升级低分辨率图像以获得模糊的用户体验。
如果您坚持使用位图图像,以适应许多不同的设备像素比率,则应使用CSSMediaQueries为不同的设备组提供不同的资源集。结合使用一些不错的技巧,例如background-size: cover
将其明确设置background-size
为百分比值。
#element { background-image: url('lores.png'); }
@media only screen and (min-device-pixel-ratio: 2) {
#element { background-image: url('hires.png'); }
}
@media only screen and (min-device-pixel-ratio: 3) {
#element { background-image: url('superhires.png'); }
}
这样,每种设备类型仅加载正确的图像资源。另外请记住,px
CSS 中的单位 始终 在 逻辑像素上运行 。
随着越来越多的设备类型出现,为所有设备提供足够的位图资源变得更加棘手。在CSS中,媒体查询是目前的唯一方法,而在HTML5中,图片元素可让您对不同的媒体查询使用不同的来源,但是这种支持仍然不是100%,因为大多数Webhtml" target="_blank">开发人员仍然需要一段时间才能支持IE11
如果您需要图标,线条艺术, 不是照片的 设计元素的清晰图像,则需要开始考虑SVG,它可以完美地缩放到所有分辨率。
本文向大家介绍说说你对设备像素比的理解相关面试题,主要包含被问及说说你对设备像素比的理解时的应答技巧和注意事项,需要的朋友参考一下 设备像素比(Device Pixel Ratio 简称:DPR),是指物理像素和CSS像素的比例。 可以参考:移动Web开发基础-Viewport
我已经使用Google Maps API V3创建了一个自定义地图。这是一幅虚构世界的矩形地图,而不是真实世界中的任何东西。 我一直在读关于如何在自定义谷歌地图中使用投影的文章。我需要使用投影,因为使用投影放置标记和区域,它们不会水平重复。总之,我从教程中提取了以下代码: 我已经把它应用到我的地图上,它似乎起作用了。然而,我正在试图弄清楚如何改变投影的比例。当我放置这样的标记时: 标记被放置在地图
问题内容: 我使用CSS已经有很多年了,我一直都是个“百分百”的人,因为我总是使用百分比而不是像素来定义高度和宽度(例如,在设置边距,填充等,在这种情况下,我使用像素)。 我会做这样的事情: 但是我经常看到这样的例子: 我的问题是:将一个 整体 与另一个 整体 相比有什么好处? 问题答案: 行动网页。%为此。因为它将(显然)调整为适合。 但是,当您想要固定宽度(例如,要以某种方式显示的文本文章)时
问题内容: 我想知道单位是多少,转换为像素()时1em是多少。我还读过一些有关IE错误的文章,以克服应将哪种主体字体大小设置为某种大小,但不能遵循太多的问题。有人可以详细解释吗? 问题答案: 尽管您可能在其他地方读过,但em和px之间 没有 直接关系。 作为链接之一指出: “ em”值基于大写字母M的宽度 因此,每种字体都会有所不同。窄字体可能与扩展字体具有相同的高度(以px为单位),但是em大小
问题 您能否仅通过Android Studio(v3.1.4)而不是avdmanager创建Pixel 2虚拟设备? 我们想做的事 使用avdmanager自动创建像素2设备(基于avdmanger的连续集成脚本)。我们需要明确使用像素2设备。 问题 执行不会返回Pixel 2硬件配置文件,但会返回错误: 其他细节 我必须执行以下命令才能使用Java10.0执行avdmanager命令。2。否则,