从 JS/CSS 检测系统 DPI/PPI
背景
在具有不同 DPI/PPI 设置的设备之间保持一致的用户体验至关重要适用于生成高分辨率图像的现代应用程序。然而,准确检测设备的 DPI/PPI 存在挑战,因为传统方法可能无法提供可靠的结果。
设备说谎:错误的 96ppi 读数
您使用具有固定“的元素的初始方法CSS 中的 1in" 宽度并检查其 offsetWidth 似乎是合理的。然而,众所周知,iPhone 会误报其 PPI,给出 96ppi 的错误值。这种错误的读数使该方法不可靠。
替代方法:设备显示尺寸
另一个潜在的解决方案是检索设备显示尺寸(以英寸为单位)并将其除以宽度(以像素为单位)。然而,在 JS/CSS 中访问这些尺寸并不简单。
解决方案:DevicePixelRatio
幸运的是,有一个可靠的方法来获取设备 DPI/PPI:
- 使用 window.devicePixelRatio: 此属性提供设备屏幕上的像素与 CSS 像素的比率。
- 创建测试元素: 使用以下命令创建不可见元素CSS 中的高度和宽度均为 1 英寸。
- 检索显示分辨率:通过将元素的偏移宽度和高度乘以 devicePixelRatio 来计算 DPI/PPI。
<code class="javascript">const testDiv = document.createElement('div'); testDiv.style.height = '1in'; testDiv.style.left = '-100%'; testDiv.style.position = 'absolute'; testDiv.style.top = '-100%'; testDiv.style.width = '1in'; document.body.appendChild(testDiv); const DPI_X = testDiv.offsetWidth * window.devicePixelRatio; const DPI_Y = testDiv.offsetHeight * window.devicePixelRatio; console.log(DPI_X, DPI_Y);</code>
此方法可在各种设备上提供准确的 DPI/PPI 读数,包括那些使用传统方法可能误报 PPI 的设备。
以上是面对设备欺骗,如何从JS/CSS中准确检测DPI/PPI?的详细内容。更多信息请关注PHP中文网其他相关文章!

@keyframesispopularduetoitsversatoryand and powerincreatingsmoothcssanimations.keytricksinclude:1)definingsmoothtransitionsbetnestates,2)使用AnimatingmatematingmultationmatingMultationPropertiessimultane,3)使用使用4)使用BombingeNtibalibility,4)使用BombingingWithjavofofofofofoffo

CSSCOUNTERSAREDOMANAGEAUTOMANAMBERINGINWEBDESIGNS.1)他们可以使用forterablesofcontents,ListItems,and customnumbering.2)AdvancedsincludenestednumberingSystems.3)挑战挑战InclassINCludeBrowsEccerCerceribaliblesibility andperformiballibility andperformissises.4)创造性

使用滚动阴影,尤其是对于移动设备,是克里斯以前涵盖的一个微妙的UX。杰夫(Geoff)涵盖了一种使用动画限制属性的新方法。这是另一种方式。

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

记事本++7.3.1
好用且免费的代码编辑器