CSS默认单位

时间:2010-02-16 10:55:11

标签: css

我可以将默认单位从像素更改为mm吗? 例如,我想将元素左移和顶部移动到mm而不是像素?

6 个答案:

答案 0 :(得分:13)

没有'默认单位'。 CSS规范要求将缺少单元的长度(非零)视为错误(并因此忽略)。

quirks mode中(你几乎从不使用怪癖模式,它会让生活变得更加困难),大多数浏览器都会执行错误恢复,并假设你的意思是像素(尽管规格禁止这样)。

如果您正在使用屏幕媒体 - 请避免使用物理设备。大多数系统都没有经过校准来正确计算DPI(因此,当从物理单位转换为监视器理解的内容(像素)时,它们就会出错)。

答案 1 :(得分:12)

指定CSS单位是非零值的要求。浏览器可能会试图猜测你的意思,但根据标准,它仍然是一个破损的样式表。

即。 CSS2中没有“默认单位”,只是浏览器可能会试图帮助你,尽管它可能只是忽略你的声明没有指定单位作为无效单位。

答案 2 :(得分:1)

不,你不能改变默认单位,但只是把单位放在那里不应该太多:

#foo {
    left: 22mm;
    top: 20mm;
}

您应该始终指定单位,因为它是必需的,浏览器可能会以不同方式解释无单位值。

答案 3 :(得分:1)

由于没有“默认单位”,您需要在定位元素时提供单位,您只需使用“mm”代替“px”。

答案 4 :(得分:-1)

如果没有指定显式单位(如'em'或'%'),则AFAIK会将“px”连接到该值,并且无法覆盖此默认行为。

答案 5 :(得分:-2)

不,这是不可能的,因为不同的屏幕可能具有不同的尺寸,同时仍具有相同的分辨率。最终导致像素或相对符号。