Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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
Javascript 如有必要,调整图像大小以适合固定高度容器_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如有必要,调整图像大小以适合固定高度容器

Javascript 如有必要,调整图像大小以适合固定高度容器,javascript,jquery,html,css,Javascript,Jquery,Html,Css,CSS和/或JavaScript/jQuery是否存在这样的情况,即只有当图像需要调整大小以使剩余内容适合固定高度的容器时,我们才能调整图像的大小?如果你回顾一下下面截图中新的本周和每周特价部分的图片,你就会明白我的意思。然而,在某些情况下,由于图像足够小,并且图像下方的文本量不是很大,所以所有内容都适合 使用jQuery时: $(document).ready(function() { $('div.item img').each(function() { var image = $(

CSS和/或JavaScript/jQuery是否存在这样的情况,即只有当图像需要调整大小以使剩余内容适合固定高度的容器时,我们才能调整图像的大小?如果你回顾一下下面截图中新的本周和每周特价部分的图片,你就会明白我的意思。然而,在某些情况下,由于图像足够小,并且图像下方的文本量不是很大,所以所有内容都适合

使用jQuery时:

$(document).ready(function() { $('div.item img').each(function() {
    var image = $(this);
    var div = $('div.item p');
    if ((image.height() + div.height()) >> $('div.item').height()) {
        while ((image.height() + div.height()) >> $('div.item').height()) {
            image.height(image.height() - 1);
        }
    }
});});
使用jQuery:

$(document).ready(function() { $('div.item img').each(function() {
    var image = $(this);
    var div = $('div.item p');
    if ((image.height() + div.height()) >> $('div.item').height()) {
        while ((image.height() + div.height()) >> $('div.item').height()) {
            image.height(image.height() - 1);
        }
    }
});});

不,不是像你描述的那样使用CSS。但是,是的,使用jQuery可以实现这一点


就我个人而言,jQuery的效率不足以尝试给您一个编码的解决方案,但从概念上讲,您可以做一些事情,比如检查组合的子元素的计算高度,然后将其与父容器的高度相匹配。然后,如果子元素大于固定元素的高度,则计算差值,并将该新值作为内联高度属性或内联样式属性添加到图像中。

否,而不仅仅是您描述的CSS。但是,是的,使用jQuery可以实现这一点


就我个人而言,jQuery的效率不足以尝试给您一个编码的解决方案,但从概念上讲,您可以做一些事情,比如检查组合的子元素的计算高度,然后将其与父容器的高度相匹配。然后,如果子元素大于固定元素的高度,则计算差值并将该新值作为内联高度属性或内联样式属性添加到图像中。

设置最大高度CSS属性有什么问题

<img src="big.jpg" style="max-height:300px">

然后将CSS表达式添加到解决IE6问题的方法中

<img src="big.jpg" style="max-height:300px; _height:expression(Math.min(this.offsetHeight, 300))">

设置最大高度CSS属性有什么问题

<img src="big.jpg" style="max-height:300px">

然后将CSS表达式添加到解决IE6问题的方法中

<img src="big.jpg" style="max-height:300px; _height:expression(Math.min(this.offsetHeight, 300))">


您的图像首先应该具有标准化的高度。我会在服务器端调整它们的大小。你能提供一些HTML和css作为例子吗?我们确实会在服务器端调整图像的大小,但是这个特定的客户端对不同类型的产品使用不同的大小。例如,你可以在屏幕截图中看到裙子比衬衫高。我知道我可以很容易地在服务器端动态地规范化高度,但我很好奇是否有其他方法使用CSS和/或jQuery,只在必要时调整大小。您可以看到HTML源代码@您的图像首先应该具有标准化的高度。我会在服务器端调整它们的大小。你能提供一些HTML和css作为例子吗?我们确实会在服务器端调整图像的大小,但是这个特定的客户端对不同类型的产品使用不同的大小。例如,你可以在屏幕截图中看到裙子比衬衫高。我知道我可以很容易地在服务器端动态地规范化高度,但我很好奇是否有其他方法使用CSS和/或jQuery,只在必要时调整大小。您可以看到HTML源代码@这是一个非常有趣的解决方案!这会保持图像的适当比例吗?另外-你知道这在IE7和IE8中的效果如何吗?我当然可以测试,但只是好奇而已。非常感谢@ShawnCBerg-我又编辑了一次答案,至于这两个问题,我相信它在IE7、IE8中也会起同样的作用,这是一个非常有趣的解决方案!这会保持图像的适当比例吗?另外-你知道这在IE7和IE8中的效果如何吗?我当然可以测试,但只是好奇而已。非常感谢@ShawnCBerg-我又编辑了一次答案,至于这两个问题,我相信在IE7、IE8中也是一样的,因为最大高度取决于图像下方显示的文本量。因为最大高度取决于图像下方显示的文本量。