【问题标题】:CSS image wrap issue - depends on browser zoom levelCSS 图像换行问题 - 取决于浏览器缩放级别
【发布时间】:2012-09-26 02:12:00
【问题描述】:

我正在尝试在 DIV 中创建一个包含 5 个图像的面板,其中 jQuery animate() 连续扩展每个图像,直到所有 5 个图像占用容器宽度的 100%不换行

Here是问题的链接:

初始 blockUI 显示正常,但一旦过期并显示正常页面,相同的五个图像将在某些分辨率下完美显示(我在 FF 或 IE 中使用 ctrl-+/- 进行测试)和其他导致最后一张要换行的图片。

动画调整大小的代码如下,其目的是将每个图像的大小调整到容器宽度的 20%。我试着看看它是否与四舍五入有关,结果是空的。我已经研究了尝试以下部分/全部的 CSS 选项:

overflow:hidden;
white-space: nowrap;
display:inline-block;


$(".service_img").each(function (i) 
  {
    // if the image in question's width is > 20% of its container then re-adjust it to be 20% so it will fit
    if($('#'+this.id).outerWidth() > Math.floor((($('#services_imgs_container').outerWidth()/5)))){
      $('#'+this.id).width(Math.floor(($('#services_imgs_container').outerWidth()/5)));
    }
    else {
      $('#'+this.id).animate({width:(Math.floor(($('#services_imgs_container').outerWidth()/5)))},{duration:500, queue:false});
      //$('#'+this.id).animate({width:'19.2%'},{duration:500, queue:false});
      $('#'+this.id).show();
    }

  })

【问题讨论】:

    标签: javascript jquery css image jquery-animate


    【解决方案1】:

    你可以在resize之后写一个函数,看看#services_imgs_container是否是div.service_img:eq(0)高度的两倍。如果是每次将每个 .service_img 的大小减少一个像素,直到该语句不再正确。

    类似的东西

    while($('#services_imgs_container').height() >= ($('.service_img:eq(0)').height() * 1.5))
    {
        $('.service_img').css('width': '-=1');
    }
    

    【讨论】:

    • 宽度是问题,但您的建议仍然有效 - 让我试试看效果如何。谢谢。
    • 对,我检查高度的原因是,如果容器的高度是子项高度的两倍,那么我们知道它以 2 行显示子项,而不是 1 行。因此,如果它在 2 行上,我会减少每个元素的
    • 好的,这行得通,但是有以下行为 - 即使在 animate() 之后的 promise.done() 中执行此操作时,有时高度会返回 350 和容器有时会返回 700导致这个while循环发生。有时在父容器展开之前执行的 while 语句似乎存在问题,它评估为 false,然后容器由于包装而展开,问题仍然存在。
    • 另外 - .css 应该在上面使用逗号而不是冒号(小变化)。
    • 在我们评估上面的 while 循环测试之前,有没有人知道如何确保我们总是等待容器扩展(如果它会这样做)?现在,我通过在 .done() 部分中的更多语句之后移动 while 循环来破解它,以允许容器扩展的时间,但这不是最佳的,原因很明显,因为它们仍然不能保证时间。
    猜你喜欢
    • 1970-01-01
    • 2013-12-22
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 2019-02-26
    • 2011-05-07
    • 2011-11-18
    相关资源
    最近更新 更多