我有一个WebView,通过CSS文件进行格式化 - 我在应用程序内部动态生成HTML以供此视图使用,就像Web服务器一样。 生成的HTML引用静态CSS文件进行格式化。 我有一个图像格式化指令,例如:
img {
width: 20px;
height: 20px;
}
为了使此设备独立,我想使用dip而不是px来测量宽度和高度。我无法找到如何在css定义中指定dip作为单位的方法。我尝试过"dp"和"dip",但都不起作用。这可行吗?
我知道我可以有多个版本的CSS文件,通过像<"target-densitydpi=high-dpi">这样的选择器进行选择,但这意味着我将有重复的CSS文件,只是为了根据不同设备密度调整图像大小。虽然可行,但我更喜欢能够在CSS文件中指定dip,并让WebView为我完成工作。
另一个可行的方法是在HTML头部生成内联样式表,并将dip转换为特定设备的px,但这会导致CSS定义与HTML生成代码之间的耦合。对于我的应用程序来说,可能比多个CSS文件好,但最好还是只需在CSS文件中设置dip即可。
(我的图像被设计为允许在当前支持的屏幕密度范围内调整大小而不产生伪影)