jqueryheight似乎是错误的
我必须根据客户机上的模式(纵向或横向)调整图像大小 然而,jQuery给我的高度似乎是错误的。 图像位于一个包装DIV内,该DIV具有max height和overflow:hidden,但报告的高度似乎仍然是height:auto 这是我的HTML(示例) 还有JS代码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(包含类内容)没有。实际上,您
$('.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;
}