基于jQuery的IE6最小/最大宽度修复

时间:2009-09-20 11:44:19

标签: jquery css internet-explorer-6

任何人都知道一个体面,可靠,基于jQuery的最小/最大宽度修复IE6

4 个答案:

答案 0 :(得分:1)

This一个看起来不错。我没有尝试过,但它看起来处理浏览器调整大小。虽然需要适应,我非常怀疑它是copypasta准备好了(那里有硬编码的东西)。

答案 1 :(得分:1)

是否必须是jQuery修复程序?如果它只是你试图补偿的CSS,你可以使用CSS表达式解决你的IE6最大/最小宽度问题:

#wrap {
    width: expression(document.body.clientWidth < 742? "740px" : document.body.clientWidth > 1202? "1200px" : "auto");
}

如果您真的在寻找JS修复程序,可以将相同的代码添加到JavaScript中。我只是尝试保留CSS用于演示,JS用于其他增强。

使用CSS表达式存在性能问题,但是如果你使用的是IE6,那么你会遇到更大的问题......

答案 2 :(得分:1)

我在yaml builder http://builder.yaml.de/

上看到了一个

答案 3 :(得分:1)

我知道这是一个旧帖子,但是由于我遇到了同样的问题,我在这里进行了Google搜索。我尝试使用IE的表达式,但我的问题是我需要在页面调整大小时动态计算最大图像大小。我无法控制服务器上的图像大小,所以我不得不走这条路。

最后,我添加了一个函数,我在页面加载完成后调用它(使用$(document).ready(),因为这不等待图像实际下载,只是DOM)。然后我在页面调整大小时调用相同的函数。我用来设置图像最大宽度的代码是

    // Calculate the max width that the images can be
    var maxWidth = $('#some-container').width();

    // Make sure the div that contains the image is set to this maxWidth
    $('#someDiv').width(maxWidth);

    // Set the max width using CSS for nice standards compliant browsers
    $('#someDiv img').css('max-width', maxWidth);

    // For non-compliant browsers like IE, iterate over all the images and manually set their size (should probably only do this for IE, but doesn't hurt)
    $('#someDiv img').each(function(index) {
        if ($(this).width() > maxWidth){
            $(this).width(maxWidth);
        }
    });