设备像素比到底是什么?

2024-02-29

每一篇关于移动网络的文章都提到了这一点,但我找不到任何地方可以解释这个属性到底衡量什么。
任何人都可以详细说明这样的查询会检查什么吗?

@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,因为物理线性分辨率是逻辑线性分辨率的两倍。

  • 物理分辨率:960 x 640
  • 逻辑分辨率:480 x 320

公式为:

res_p/res_l

Where res_p is the physical linear resolution, and res_l is the logical linear resolution.

其他设备报告不同的设备像素比,包括非整数像素比。例如,诺基亚 Lumia 1020 报告 1.6667,三星 Galaxy S4 报告 3,苹果 iPhone 6 Plus 报告 2.46(来源:dpilove http://dpi.lv/)。但这原则上不会改变任何事情,因为您永远不应该为任何一种特定设备进行设计。

讨论

The CSS "pixel" is not even defined as "one picture element on some screen", but rather there is a reference pixel, which is a non-linear angular measurement of 0.0213° viewing angle. This is approximately 1/96 of an inch. Source: CSS Absolute Lengths https://www.w3.org/TR/css3-values/#absolute-lengths

这对于网页设计有很多影响,例如准备高清图像资源以及在不同设备像素比下仔细应用不同的图像。您不想强制低端设备下载非常高分辨率的图像,而只是在本地缩小图像的尺寸。您也不希望高端设备升级低分辨率图像以获得模糊的用户体验。

如果您受困于位图图像,为了适应许多不同的设备像素比,您应该使用CSS 媒体查询 http://www.w3.org/TR/css3-mediaqueries/ or the HTML 图片元素 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture为不同的设备组提供不同的资源集。将此与一些不错的技巧结合起来,例如background-size: cover https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Background_and_Borders/Scaling_background_images或明确设置background-size https://developer.mozilla.org/en-US/docs/Web/CSS/background-size为百分比值。

Example

#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'); }
}

这样,每种设备类型仅加载正确的图像资源。另请记住,pxCSS 中的单位always运行于逻辑像素.

矢量图形的案例

随着越来越多的设备类型出现,为所有设备类型提供足够的位图资源变得更加棘手。在CSS中,媒体查询是目前唯一的方式,而在HTML5中,图片元素 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture允许您对不同的媒体查询使用不同的来源,但支持仍然不是 100%,因为大多数 Web 开发人员仍然需要支持 IE11 一段时间(来源:caniuse http://caniuse.com/#search=picture).

如果您需要清晰的图标、线条艺术、设计元素图像不是照片,您需要开始考虑 SVG,它可以完美地适应所有分辨率。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设备像素比到底是什么? 的相关文章

  • jQuery:获取 HTML 表格第四行(仅)的第一列值

    我有一个名为 resultGridTable 的表 我有一个 jQuery 函数要在表的每一行上执行 在函数中 this 表示一行 对于第四行 我需要提醒 第四行 第一列值 我有以下代码 但它不起作用 我们怎样才能让它发挥作用呢 对于第五行
  • 在 Rails App 中实现 WrapBootstrap 主题

    我刚刚购买了一个 wrapbootstrap 主题 并尝试将其插入我的 Rails 应用程序中 一些 css 如填充 导航栏 字形图标 和大多数 javascript 无法正常运行 我将所有样式表和 javascript 分别复制到 ass
  • Bootstrap .row margin-left: -15px - 为什么它会缩进(来自文档)

    我在 Bootstrap 文档中看到了这一行 http getbootstrap com css grid intro http getbootstrap com css grid intro It says 列通过填充创建装订线 列内容之
  • 强制应用媒体查询

    我有这个 html 和 css 代码 div class wrapper div class a div div class b div div media all and max width 400px max height 300px
  • Zurb 基金会粘性页脚

    我想使用 Foundation 4 拥有粘性页脚 并且我想使用 HTML5
  • Chrome 和 Safari 错误::不允许加载本地资源: file:///D:/CSS/Style.css

    当我在 chrome 或 safari 中访问我的 aspx 页面时 它在控制台中显示此错误 不允许加载本地资源 file D CSS Style css 在 IE 和 FF 中一切正常 我使用外部 CSS 通过 aspx 页面链接 我已经
  • HTML CSS 循环协助

    希望你能帮忙 我想知道您是否可以在循环中创建以下类型 你知道这是否可能吗 body background 000 DEMO SPECIFIC STYLES typewriter h1 color fff font family Bebas
  • 角度材质表-表内边框

    I am using Angular material table and I want to set border inside the table Using CSS I was able to set border Normal ca
  • Ace Editor 自动完成和多种语言

    如何为 Ace 编辑器创建自动完成功能以及如何突出显示 php 中的 html javascript 和 csshttp ace ajax org http ace ajax org
  • 等高列并将最后一项与底部对齐

    我有一个列表 其中每个li有嵌套容器 我尝试为所有列表项保留相同的高度 并将最后一个 div 推到底部 我将如何使用 flex 来做到这一点 ul list container display inline flex justify con
  • 如何获取 Google Chrome 中所有加载的 CSS 类的列表?

    有时我需要打印 CSS 类列表才能找到合适的类 最适合我的是 JS 控制台中的函数 当您键入时 JS 类列表会被加载和过滤 例如 如果我需要记住一个图像类 我输入 Img 然后加载图像类列表 ImgFolder ImgPencil var
  • 如何居中对齐数据表标题

    我是数据表新手 当我制作表格标题时 它总是左对齐 如何将标题设置为居中对齐 我已阅读 datatables net manual styling classes 和 datatables net reference option colum
  • Ionic 2:隐藏滚动条并继续滚动

    我只想hide滚动条 在需要滚动的页面中 我正在使用离子2 My 不工作解决方案 scroll content bar overflow hidden 此解决方案隐藏滚动条but使屏幕不可滚动 首先 改变浏览器的自然行为和预期的用户体验是一
  • Webkit 是否有 CSS3 网格布局的有效实现?

    CSS 网格布局 编辑草案 2011 年 11 月 21 日 http dev w3 org csswg css3 grid align 我正在制作一个原型 该原型将在选定的设备和浏览器上向客户展示 目前我并不担心跨浏览器兼容性 IE10开
  • 如何使用 CSS 或 jQuery 设置第一个和最后一个 li 的样式?

    我如何设计第一个 顶级 li和最后一个 顶层 li使用 CSS 还是 jQuery 我正在使用 CSS 设置第一个li但它也是造型第一li在每个中学阶段ul 那么我怎样才能让它只设置样式li其中包含 Main 1 最后一个包含 Main 6
  • Bootstrap 响应式表格在 iOS 设备上无法垂直滚动

    这就是我所拥有的 div class table responsive table class table style background transparent table div 我正在使用以下 bootstrap css 文件 ht
  • Firefox 忽略 CSS 中的最小高度

    由于某些原因 最小高度在 Firefox 上不起作用 我尝试在 body 上设置 min height 但 Firefox 完全忽略了它 由于我的页面是动态的 我不能只将高度设置为 100 我应该怎么办 body border 1px so
  • 全高全宽 CSS 布局

    我正在寻找一种方法来创建具有 5 个区域的纯 CSS 无 JavaScript 布局 如下所示 H A B C F
  • WordPress 子主题包括包含文件

    我在一家WordPress使用 AMPPS 作为本地主机在我的本地计算机上进行设置 使用 Delta 主题 我创建了一个子主题 delta2 child 初始设置效果很好 但是 我需要更改包含文件夹中名为 home slider php 的
  • 使用flex-basis控制行上显示的项目数

    我想在使用 Flex 时将元素推出以隐藏它们 例如 如果flex basis为 50 仅显示两个项目弯曲到给定空间 而其他元素则在overflow hidden 领土 Or if flex basis为 25 则仅显示 4 个 Flex 元

随机推荐

  • 计算两条曲线之间的面积

    我有一个包含曲线和直线的代码 我知道如何填充线下方和下方的区域 但我需要计算每个区域的面积值 这是代码 import matplotlib pyplot as plt import numpy as np x np arange 0 0 2
  • mamp mysql 无法启动

    我的 mysql 服务器有问题 当我启动 MAMP 时 Mysql 服务器不会启动 我尝试更改端口但没有帮助 我检查错误日志 发现以下内容 161010 09 21 07 mysqld safe Starting mysqld daemon
  • iPhone iOS UILabel 如何仅自定义 UITableView 详细文本标签的文本颜色?

    我正在开发一个界面原型 并使用故事板来实现 原型的一部分涉及将 UITableView 单元格的详细 UILabel 设置为某种颜色 我想避免必须手动重新着色故事板中的每个标签 我发现我可以使用 UILabel appearanceWhen
  • 多处理中的加入超时

    我有一个虚拟示例 我想在其中应用多重处理 考虑一个场景 其中有一串数字 我称之为帧 逐一传入 我想将其分配给当前可用的任何单个进程 所以我创建了 4 个正在运行的进程while循环 查看队列中是否有任何元素 然后对其应用函数 问题是当我jo
  • 在struts中从Angular 2发送和接收http post数据

    我正在尝试将 http post 数据从 Angular 4 代码发送到 struts 操作 Struts 操作正在被调用 但无法接收数据 给我一个错误 java lang ClassCastException java lang Inte
  • 使用 Swift 将 NSHttpCookie 存储在 iOS 钥匙串中

    我有一个以 HTTP cookie 形式从 Web 服务收到的身份验证令牌 目前 我依赖于 iOS 的默认行为 即将从 HTTP 请求返回的 cookie 存储在NSHTTPCookieStorage保留 cookie 直到用户关闭应用程序
  • 模型和实体有什么区别[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我很困惑不明白这句话的含义 Entity Model DataModel ViewModel 任何人都可以帮助我理解它们吗 这些术语的
  • 使用正则表达式获取 DIV 内容

    如何使用正则表达式获取 DIV 的内容 我需要得到的是介于两者之间的 div class lv1right dfbg div 这些 div 标签之间还有几个 未明确定义的 标签 我想获取所有这些标签 提前致谢 我会避免对 HTML 使用正则
  • 如何在 Ruby 中获取 Linux 系统信息

    如何在 Ruby 中获取 Linux 系统的软件 硬件信息 这必须适用于 Fedora Ubuntu 等 Chef 背后的优秀人员 拥有一颗名为 Ohai 的优秀宝石https github com opscode ohai https g
  • 这个“ld”错误(“未定义的引用”)是什么意思?

    这个错误是什么意思 tmp ccevEqoI o In function main funcptr c text 0x61 undefined reference to AddALL collect2 ld returned 1 exit
  • GD库占用内存大吗?

    我想在我的 PHP 脚本中使用 GD 库从外部服务器生成随机大图片的小缩略图 每次调用页面时 GD库都会重新生成缩略图并显示 这会减慢服务器速度或消耗异常数量的内存吗 GD使用大量内存 它将图像完全加载到内存中并将其解压缩 因此每个像素至少
  • 什么是 Windows Phone Silverlight 8.1 中作为后台任务的 gHost.Background 任务?

    当我创建新的 Windows Phone SIlverlight 8 1 应用程序时 清单中有一个后台任务
  • RichFaces 4.2 日历。如何通过JavaScript设置日历的InputField?

    我必须将客户端的日期字符串复制到日历输入字段 更新日期输入 以下 JavaScript 不起作用 document getElementById AddressDetails renewal date input value renewal
  • Jquery国际电话号码输入

    我正在尝试遵循 jquery 教程http www jqueryscript net form jQuery International Telephone Input With Flags Dial Codes html http www
  • 在现有 S3 对象上运行 S3-put-triggered Lambda 函数?

    我在 Node js 中有一个 Lambda 函数 用于处理添加到我的存储桶中的新图像 我想为所有现有对象运行该函数 我怎样才能做到这一点 我认为最简单的方法是 重新放置 每个对象 以触发该功能 但我不确定如何执行此操作 需要明确的是 我想
  • 正确分发带有数据库的 Java 应用程序

    我有一个 Java 应用程序 它使用我想要分发的 MySql 数据库 我担心的是 为了分发此应用程序 我需要假设目标系统同时安装了 JRE 和 MySql Server 有什么方法可以将我的应用程序与 JRE 和 MySql 服务器捆绑在一
  • Google Analytics 事件跟踪 - 最大字符串长度

    我正在使用 Google Analytics 来跟踪 Android 应用程序中的事件 我的问题是 事件中的字符串长度是否有限制 我在谷歌的开发指南网站上没有找到任何关于这个主题的信息 此致 Edit 我尝试了一个包含 2000 个字符的字
  • 在 http.Handler ServeHTTP 函数中计算 Go 中发送和接收的字节数?

    如何计算发送和接收的字节数ServeHTTPGo 中的函数 计数需要相对准确 跳过连接建立并不理想 但可以接受 但必须包含标题 它还需要很快 迭代通常太慢 计数本身不需要发生在ServeHTTP 只要给定连接的计数可用于ServeHTTP
  • Python requests.exception.ConnectionError:连接中止“BadStatusLine”

    我正在尝试使用 Python requests 模块发出 Http GET 命令来访问一些基于 REST 的 API 这些 url 在 RESTClient 上工作正常 但是当我在 python 中使用相同的 url 时 出现连接错误 我试
  • 设备像素比到底是什么?

    每一篇关于移动网络的文章都提到了这一点 但我找不到任何地方可以解释这个属性到底衡量什么 任何人都可以详细说明这样的查询会检查什么吗 media only screen and webkit min device pixel ratio 1