【问题标题】:getting height of a div in centimeter using jquery?使用 jquery 以厘米为单位获取 div 的高度?
【发布时间】:2016-08-29 18:53:45
【问题描述】:

我有一个 div ,我在其中动态添加数据,我想以厘米为单位获取特定 div 的高度。因为我需要根据高度来控制该 div 中可以显示的数据量。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    【讨论】:

    • 这是我的答案中缺少的内容......如何使用 JS 确定屏幕 DPI。干得好+1
    • 所有屏幕都一样吗?我怀疑 1 厘米是否由不同屏幕中相同数量的像素组成。
    【解决方案2】:

    这是一个将 CSS 像素转换为厘米的小 javascript 函数:

    function px2cm(px) {
      var d = $("<div/>").css({ position: 'absolute', top : '-1000cm', left : '-1000cm', height : '1000cm', width : '1000cm' }).appendTo('body');
      var px_per_cm = d.height() / 1000;
      d.remove();
      return px / px_per_cm;
    }
    

    它将一个 1000cm x 1000cm 的空 &lt;div&gt; 插入到页面中,然后以 CSS 像素为单位读取其高度。 通过不使用魔法值(如上面建议的 1px = 0.02645833 cm,仅当您的屏幕 DPI 为 96 时才有效),它确保考虑当前屏幕 DPI。

    由于屏幕的 DPI 永远不会改变,您应该缓存 px_per_cm 以避免任何时候调用此函数时对性能造成任何影响

    【讨论】:

      【解决方案3】:

      首先,您需要确定要查看多少 DPI(每英寸点数)。在屏幕上,这通常在 72 到 100 之间。我们以 72 为例。

      每英寸 72 个点(像素)。
      即每 2.54 厘米有 72 个像素
      所以1厘米是28.35像素

      现在只需获取以像素为单位的高度,然后进行转换。

      【讨论】:

      • 我得到 140 dpi,我没有得到上述每 2.54 厘米 72 像素的计算,140 会得到多少厘米,如何计算?...提前谢谢
      • @user976034 72 / 2.54 = 28.35 - 如果您的屏幕为 140 DPI,这是否有助于您进行计算?
      • 感谢 jamiec,我的疑问是 2.54 是固定的还是取决于 dpi.. 以任何方式清除
      • @user976034 - 2.54 是 1 英寸中的厘米数。
      • 危险警告:“首先,您需要确定您正在查看多少 DPI(每英寸点数)。”
      猜你喜欢
      • 1970-01-01
      • 2015-08-12
      • 1970-01-01
      • 2016-05-29
      • 2014-07-17
      • 1970-01-01
      • 1970-01-01
      • 2010-12-09
      • 1970-01-01
      相关资源
      最近更新 更多