我需要在Web应用程序中以实际尺寸显示对象。如果一个物体的宽度为85mm,那么它也应该显示在屏幕上(ipad 1,2,3和androids)。我试图在css中以mm为单位设置图像,但它不起作用。有什么建议么?如何在css/javascript中模拟实际大小尺寸
回答
如@feeela所述,cm,in,mm等单位不符合实际生活尺寸。也没有办法得到具体的设备DPI,最近你得到的是window.devicePixelRatio
财产。解决此问题的一种方法是使用外部库(如Detector)来确定用户所处的确切设备,然后为其分配任何硬编码像素密度,如wikipedia中所列。 一旦你有了密度,你可以很容易地将任何尺寸转换为所需的尺寸。 例如,在一个iPad3的:
var dpr = window.devicePixelRatio;
var inch = 25.4; //1inch = 25.4 mm
var ppi = 264; //Ipad3 density
function mmToPx(mm){
return ((mm/inch)*ppi)/dpr;
}
myElement.width = mmToPx(size_in_mm);
我希望它可以帮助有同样问题的人......
上MDN此语句读取,因为它应该在设备上工作以高分辨率:
对于低DPI装置,该单元PX表示物理参考像素和其它的相对于它定义。因此,1in被定义为96px,等于72pt。这个定义的结果是,在这样的设备上,用英寸(in),厘米(cm),毫米(mm)描述的长度不必与具有相同名称的物理单元的长度相匹配。
对于高dpi设备,英寸(in),厘米(cm),毫米(mm)被定义为它们的物理对应物。因此,相对于它们来定义px单位(1英寸的1/96)。
来源:https://developer.mozilla.org/en-US/docs/Web/CSS/length
然后还有mozmm
- »它试图在恰好一毫米大小或显示器的分辨率而不管呈现的实验单元«(见上面的链接)。
我刚刚意识到'1px'并不意味着高分辨率设备中的'一个像素':O –
所以这些单元不会工作。我不敢相信它不可能用真实尺寸来展示东西...... – Drala
@Drala这是可以理解的,它取决于屏幕设备的功能,如果屏幕的分辨率仅为10x10,而其物理尺寸大约为10厘米x10厘米,这意味着屏幕上的一个像素等于1厘米,那么您如何显示小于1厘米的东西?高分辨率屏幕,您可以近似显示所有内容(由于人眼的能力有限)。 –
- 1. 实际尺寸
- 2. 多克尔图像:虚拟尺寸VS实际尺寸
- 3. NSFontSize实际尺寸
- 4. PDF尺寸对实际内容尺寸
- 5. 为什么UIImage的尺寸比实际尺寸大3倍?
- 6. 字体大小 - 翻译来点实际的尺寸
- 7. 实际结构尺寸
- 8. 如何在蜂窝模拟器中给出最大尺寸的虚拟机堆和RAM的大小和分区
- 9. 在小尺寸窗口中保存大尺寸图片
- 10. 如何在Android中获取实际显示尺寸
- 11. iPhone编程:如何在实际尺寸的UIImageView中制作UIImage?
- 12. 如何在html5中获得视频的实际尺寸
- 13. 为什么<input type =“text”>的实际尺寸小于指定尺寸?
- 14. 安卓下载的文件大小比其实际尺寸更小
- 15. 如何在Android中缩小尺寸后知道位图大小?
- 16. 用iOS模拟器模拟真实设备屏幕尺寸
- 17. Dropzone.js预览尺寸缩放至实际图片尺寸
- 18. android studio预览尺寸与实际尺寸不一样
- 19. NSImage尺寸与一些图片不是实际尺寸?
- 20. EWS - 图像大小/尺寸
- 21. Rotativa ViewAsPDF CSS大小/尺寸
- 22. 如何使用Jasny Bootstrap实现图像大小(尺寸)验证
- 23. 我如何知道设备中imageView的实际尺寸?
- 24. Android仿真器实际屏幕尺寸
- 25. swing - JFrame不显示实际尺寸
- 26. NSView的实际尺寸自我
- 27. Nexus 7实际屏幕尺寸
- 28. 印刷图像的实际尺寸
- 29. 观察元素的实际尺寸
- 30. 这是面板的实际尺寸吗?
只需使用'85mm'。 'mm'是有效单位。 – dfsq
如果您尝试使用'mm'单位,但它与现实生活中的比例不匹配,则需要在计算机上调整DPI值。 –