Html 在复制纸质交互的web应用程序的CSS上使用cm/mm是一种好的做法吗?

Html 在复制纸质交互的web应用程序的CSS上使用cm/mm是一种好的做法吗?,html,css,w3c,Html,Css,W3c,我正在构建一个与文档交互的web应用程序,以便以后打印。在某些方面与谷歌文档类似。我正在考虑在我的文档页面的CSS上使用cm/mm,因为它将帮助我生成文档。例如: // A4 size .page { width: 210mm; height: 297mm; margin: 2cm 5cm; } ... 遵循这种方法的主要问题是什么?W3C在这方面有一篇很好的文章。特别是: cm:不建议用于屏幕/建议用于打印 所谓的绝对单位(厘米、毫米、英寸、磅和磅)在CSS中的含义

我正在构建一个与文档交互的web应用程序,以便以后打印。在某些方面与谷歌文档类似。我正在考虑在我的文档页面的CSS上使用cm/mm,因为它将帮助我生成文档。例如:

// A4 size
.page {
   width: 210mm;
   height: 297mm;
   margin: 2cm 5cm; 
}

...

遵循这种方法的主要问题是什么?

W3C在这方面有一篇很好的文章。特别是:

cm:不建议用于屏幕/建议用于打印

所谓的绝对单位(厘米、毫米、英寸、磅和磅)在CSS中的含义与其他地方相同。用其中任何一种表示的长度都将显示为该尺寸(在硬件和软件的精度范围内)。不建议在屏幕上使用,因为屏幕大小变化很大。大屏幕可能是60厘米(24英寸),小的便携式屏幕可能只有8厘米。你不会从同一个距离看他们

如果您需要确保打印的字体正好是某个特定的大小,那么可以使用pt(或cm或in)设置字体大小的唯一位置是打印样式表。但即使在那里,使用默认字体大小通常也更好


那篇文章很好,我已经读过了。但我的问题是,我将使用厘米/毫米不仅用于打印(例如@媒体打印),而且用于整个应用程序。但由于我希望屏幕和打印100%相同,我怀疑cm/mm不是最好的方法。那么你对页面的OP宽度和高度有何建议?我们知道dinA4页面的高度是297mm。将其转换为像素,因为“不建议使用厘米”似乎很奇怪。@Blauhirn可能是相对的,比如
高度:100%;宽度:100%
,然后是一个单独的打印样式表。芮说他正在创建类似于谷歌文档(一个打印预览应用,如果你喜欢的话)的东西。因此,他可能需要在浏览器中查看正确的页面尺寸。这样你就可以看到还有多少空间可以输入。我真的想不出比在这里使用cm维度更好的方法了。@Blauhirn这种方法的问题是:假设我们正在复制一个电子表格程序。我们决定把柱子做成2英寸宽。在分辨率为“正常”的PC上,这很好——该应用程序可能会显示15列。但在手机上,一个单独的栏将填满整个屏幕。此外,该应用程序在不同分辨率下的外观和行为也会有所不同。最好坚持使用
%
,并使用单独的样式表进行打印。我能想到的唯一一种在web上使用
cm/in
的场景是长度关键的东西,例如尺子应用程序或类似的。。。国际海事组织。
<div class="page">
  ...
</div>