我有一个通过CSS文件格式化的WebView – 我在应用程序内为此视图动态生成
HTML,就像Web服务器一样.生成的HTML引用静态CSS文件进行格式化.我有一个图像格式化指令,如:
img { width: 20px; height: 20px; }
为了使这个设备独立,我想使用dip而不是px进行宽度和高度测量.我无法弄清楚(也没找到)如何在css定义中指定dip作为一个单元.我试过“dp”和“dip”,两者都没有效果.可以这样做吗?
我知道我可以通过<“target-densitydpi = high-dpi”>选择多个版本的CSS文件.选择器的类型,但这意味着我将有重复的CSS文件,只是为了能够根据不同的设备密度调整图像大小.可行,但我更喜欢能够在CSS文件中指定dip并让WebView为我工作.
同样可行的是在HTML头中生成内联样式表并将dip转换为特定设备的px,但这会导致CSS定义和HTML生成代码之间的耦合.可能比多个CSS文件(对于我的应用程序)更好,但是只需在CSS文件中设置dip并完成它就会好得多.
(我的图像旨在允许在没有工件的情况下调整当前支持的屏幕密度范围)
解决方法
CSS中有哪些单位可供选择:
http://www.w3.org/TR/css3-values/#lengths
没有dp或dip,所以我不确定你是如何知道这样一个单位存在的.
相反,CSS规范说像素大小应该缩放到设备相对大小.
这是理论.