Div宽度(cm)

Dam*_*mir 21 css

我需要在每个显示器中放入我的网站div,其宽度恰好为25厘米(10英寸).我怎么能这样做?

Tom*_*mas 20

您只需cm在CSS中使用该单元:

#mydiv { width: 25cm; }
Run Code Online (Sandbox Code Playgroud)

请注意,正如其他人所指出的,结果仍然取决于操作系统正确读取监视器大小.

有关详细信息,请参阅规范.

  • 只是尝试了一下 - 结果甚至不接近给出的数字.另外,**单位**不**后缀**. (6认同)
  • 这是有效的,但渲染引擎将在结果的精度上有最终决定权.有些浏览器比其他浏览器好,有些打印机驱动程序更好等.请注意25cm <> 10in而25.40更接近(1cm = .3907008in舍入) (3认同)

Pek*_*ica 11

我怎么能这样做?

你不能.更新:显然,您可以在许多现代系统上:查看@ Tomas的答案.但是,似乎并不总是完全可靠.

老答案: 你做不到.监视器显示不同数量的像素.从显示器到显示器的像素大小变化很大.

如果您知道显示器大小,可以使用插值像素大小的方法.此信息有时可供操作系统使用; 但是,网站不可能掌握这些信息.

唯一的方法是让用户进行校准.例如,要求用户将A4纸放在显示器上,并使用可拖动的标尺来确定其覆盖的区域.使用该信息,您可以计算显示25厘米所需的像素数.

更新: @Tomas在他的回答中声称使用CSS cm值可以在屏幕上运行.

这在我的Windows 7和23"即插即用TFT显示器(1920x1080像素)上实际上是正确的:21cm完全转换为Chrome 7,IE6(!),IE7,Firefox 3.6中A4纸的短边.

但它似乎并不完全可靠:@Yi Jiang无法使用Ubuntu Linux在TFT上工作; 此外,较旧的监视器可能无法通过其大小信息发送,因此操作系统无法确定正确的大小.

这是一个简单的 JSFiddle进行测试.

  • 今天是"Piskvor是错的日子"吗?@Tomas:我道歉 - 我的数据已经过时,你是对的.较新的监视器通过EDID报告其DPI:http://en.wikipedia.org/wiki/Extended_display_identification_data - 操作系统使用它.在Ubuntu 10.04和It Works上测试了@Pekka在Opera 10.70中的片段. (3认同)