chrome的jQuery.height()问题

chrome的jQuery.height()问题,jquery,html,height,Jquery,Html,Height,我一直在使用jqueryheight函数。但是在获取我的div元素的正确高度时出现了问题。此div元素的高度设置为auto,这意味着div的高度仅取决于其内部的元素。当我尝试在我的页面中使用.height()时,我得到了以下结果: Chrome: 1276 px Firefox: 1424 px 但当你看到它们时,它们的高度是相等的。唯一的问题是height()函数返回不同的结果 代码如下: <div class="single-mid" style="position:relative

我一直在使用jqueryheight函数。但是在获取我的
div
元素的正确高度时出现了问题。此
div
元素的高度设置为
auto
,这意味着
div
的高度仅取决于其内部的元素。当我尝试在我的页面中使用
.height()
时,我得到了以下结果:

Chrome: 1276 px
Firefox: 1424 px
但当你看到它们时,它们的高度是相等的。唯一的问题是
height()
函数返回不同的结果

代码如下:

<div class="single-mid" style="position:relative;width:700px;margin:-1px 0 0 1px;padding-right:56px;">
    <div>Sample Inside Element</div>
</div>

<script type="text/javascript">
$(document).ready(function(){
     var less_height = $('.single-mid').height() -10;
     $('.single-mid').height(less_height);
});
</script>

样品内部元素
$(文档).ready(函数(){
var less_height=$('.single-mid').height()-10;
$('单中').高度(小于高度);
});
但我试着把潜水舱的高度设为1424px。两个浏览器返回相同的结果


有什么想法吗?提前感谢。

这似乎是由于两种浏览器的默认字体不同造成的。如果将以下CSS添加到示例中,Firefox和Chrome/Iron的结果都是相同的:

<style type="text/css">
  div {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 2em;
  }
</style>

div{
字体系列:Arial、Helvetica、无衬线字体;
字号:2em;
}

您可能可以使用一个工具,自己定义样式。这将使您能够更好地控制如何使其在大多数浏览器中看起来相同。

也有同样的问题。但是如果我在做高度检查之前做了一个短暂的设置超时延迟,chrome开始报告与firefox相同的高度。在完全确定内容将如何改变容器的实际大小之前,chrome似乎会触发文档就绪状态。。。!?在任何情况下,我的解决方案都是更改我的:

$(document).ready( ...
致:


直到“所有子元素都已完全加载”(from)才会触发。这发生在我身上,原因是我计算的
div
中的一些图像没有
height
属性集


$(窗口)。加载(
确实对我有效,但对我想做的事情造成了太多的延迟。

尝试两种方法在chrome和IE中固定高度

jQuery(document).ready(function() {
   // your code here
});


我在引导下拉菜单中遇到了同样的问题,即元素必须进行高度标准化。 对于某些菜单(并非所有菜单),jquery没有返回正确的高度,导致规范化错误。 这是因为下拉菜单在规范化过程中被隐藏。当元素被隐藏时,CHROME和FIREFOX似乎无法正确计算高度。IE在这种情况下似乎工作得更好

为了解决这个问题,我在所有菜单中添加(然后删除)引导类“open”,以使它们在规范化过程中可见:

    $(window).on( "load resize orientationchange", function() {
        $(".dropdown").addClass("open");
        normalize_all();
        $(".dropdown").removeClass("open");
    });

我也有同样的问题,当使用Google字体时,它隐式地将行高设置为1.5em,jQuery可能没有看到。有一次我明确地将行高:1.5em写入CSS重置(或网站字体设置),没问题。

请提供链接或演示。我还没有上传到live站点。我目前正在本地主机上进行此项工作。谢谢Kory!!!这是最简单的修复方法,它避免了一堆俗气、冗长的html来显式定义div高度。你让我开心了一天。我支持Gert。如果你不使用带有百分比的字体大小,它可以正常工作。
jQuery(window).load(function(){
  // your code here
}); 
    $(window).on( "load resize orientationchange", function() {
        $(".dropdown").addClass("open");
        normalize_all();
        $(".dropdown").removeClass("open");
    });