我有一个通过CSS文件格式化的WebView --我从应用程序中为这个视图动态生成超文本标记语言,就像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并使用它会更好。
(我的图像旨在允许在当前支持的屏幕密度范围内无伪影地调整大小)
发布于 2011-07-12 06:03:13
CSS中可用的单位如下:
http://www.w3.org/TR/css3-values/#lengths
没有dp或dip,所以我不确定你是如何得到这样一个单元存在的想法的。
取而代之的是,CSS规范说像素大小应该根据设备的相对大小进行调整。
这只是理论。
实际情况是,您可能希望动态生成CSS来支持此类功能。
发布于 2011-11-25 02:38:11
dp实际上是/160,因此您可以以长度单位指定所有大小,例如英寸或毫米。当然,假设比例。
但不幸的是,css中的绝对大小与物理度量不匹配,我刚刚检查过了。:(
https://stackoverflow.com/questions/6652158
复制相似问题