Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jqueryheight似乎是错误的_Jquery_Css_Height - Fatal编程技术网

jqueryheight似乎是错误的

jqueryheight似乎是错误的,jquery,css,height,Jquery,Css,Height,我必须根据客户机上的模式(纵向或横向)调整图像大小 然而,jQuery给我的高度似乎是错误的。 图像位于一个包装DIV内,该DIV具有max height和overflow:hidden,但报告的高度似乎仍然是height:auto 这是我的HTML(示例) 还有JS代码 $('.content').each(function(){ alert($(this).height()); }); 这是我的小提琴: 您指定固定高度的div有200px,但其中的div(包含类内容)没有。实际上,您

我必须根据客户机上的模式(纵向或横向)调整图像大小

然而,jQuery给我的高度似乎是错误的。 图像位于一个包装DIV内,该DIV具有max height和overflow:hidden,但报告的高度似乎仍然是height:auto

这是我的HTML(示例)

还有JS代码

$('.content').each(function(){
   alert($(this).height());
});
这是我的小提琴:


您指定固定高度的div有200px,但其中的div(包含类内容)没有。实际上,您隐藏了任何溢出内容,但内容的大小保持不变

尝试检查元素,并使用度量(chrome)或布局(firebug)选项卡查看真实高度

如果要调整图像大小,必须将样式直接应用于图像,而不是父元素,否则将裁剪图像(使用溢出:隐藏)


正如其他人所说,您正在检查的div报告的高度正确。他们的父母是你设定限制的对象

溢出:隐藏
想象成一个窗口,而不是一个绘图程序。如果你向窗外看,看到一棵树的一部分,树的其余部分就没有被“修剪”或根本不存在……你就是看不到它。这棵树仍然[在这里插入数字]英尺高


现在,如果您将
max
fix
类粘贴到
content
div上,而不是/以及它们的容器上,那么您的代码将报告您认为应该报告的大小。

故意破坏JSFIDLE检查是违反规则的。如果消息告诉您添加代码,请添加一些真实代码。有这样一张支票是有原因的。你的问题应该是独立的,没有外部资源。你只能在图像加载后获得图像尺寸->对不起,我不知道。我在段落中添加了完整的代码,因此它们保持不变readable@adeneo我不想看图像的尺寸,只想看包装的尺寸,就像我的提琴显示的那样。包装DIV有一个最大高度,为什么jQuery仍然报告它更高?它返回的高度很好。。。.content div实际上是400px。。。只是它从它的父代那里被剪掉了。将最大宽度应用于.max,而不是.content我知道我将裁剪图像,这是预期的。我没有在这里发布完整的代码,只是为了让问题更清楚,其中的一部分似乎不起作用。那么代码不是你的问题,而是实际的问题“我必须根据客户机上的模式(纵向或横向)调整图像的大小。”那么,你想调整图像的大小还是裁剪图像?您已经成功地裁剪了它们,所以我认为您希望调整它们的大小。
div{
    border: 1px solid black;
    position:relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    overflow:hidden;
}
.fix{
    height:200px;
    border: 1px solid red;
    overflow:hidden;
}
.max{
    max-height:200px;
    border: 1px solid blue;
    overflow:hidden;
}
$('.content').each(function(){
   alert($(this).height());
});
.fix img{
    height:200px;
}