【问题标题】:Jquery .height() is giving rounded value instead of exact valueJquery .height() 给出舍入值而不是精确值
【发布时间】:2012-08-10 07:51:08
【问题描述】:

http://jsfiddle.net/XRXNv/

浏览器观看时的精确高度为 18.4 px,jquery 给出 18

如何解决这个问题

http://jsfiddle.net/XRXNv/1/

在第二个jsfiddle中我想将视口高度设置为前8个li-s的总和,还有一个小问题......

IE 给出 144,mozilla 172,chrome 160 :)

【问题讨论】:

  • 认为这只是您的浏览器具有一些缩放设置...不要认为您甚至可以拥有 0.4 个像素?
  • 它在我的浏览器上显示 19 - firefox, linux。让你知道。
  • mozilla 显示 19 当我在资源管理器中警告 height() 时显示 18 ...
  • chrome 产量为 20。只是说'
  • 您的确切高度是 18.4 是什么意思?你没有在小提琴中的任何地方设置它。这是用来筛选东西的尺子吗?

标签: jquery


【解决方案1】:

你在不同浏览器中收到不同高度的原因不是像素舍入问题,而是因为不同浏览器之间的默认渲染样式不同。

如果您希望所有浏览器的高度完全相同,请设置列表样式以手动设置高度。当您使用它时,将其设置为整数。

【讨论】:

    【解决方案2】:

    您不能以像素为单位设置十进制值:

    can an element have a a decimal height in html/css?

    如果您在 javascript 控制台中查看计算的样式,您会看到高度为 18px

    【讨论】:

      【解决方案3】:

      我认为您不应该使用十进制数字。 jQuery 将数字转换为 int。而不是双精度或浮点数。我建议坚持整数:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-12-13
        • 1970-01-01
        • 1970-01-01
        • 2011-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多