【问题标题】:Owl carousel show a different image on mobile猫头鹰轮播在移动设备上显示不同的图像
【发布时间】:2015-04-19 15:29:36
【问题描述】:

我一直在使用 Google 的 PageSpeed Insights 来了解如何改进我的网站,我得到的主要观点是我的图片对于移动用户来说太大了。目前我正在使用我正在使用的模板附带的 owl-carousel。

Google 自动为我提供了调整大小的图片,但我不知道如何将这些图片应用到轮播中。我尝试了https://github.com/teleject/hisrc 之类的方法,但在以多种方式尝试之后,它只是不断地完全删除图像。

有谁知道如何根据屏幕大小自动更改源?

例如,我在桌面上显示 mainimage.jpg,如果屏幕变小,我想显示 mainimage-mobile.jpg 而不是仅仅调整大小。

这是我的轮播:

style="position: relative" 是必需的,以便 chrome 用户将菜单留在图像顶部)

<div class="line animated fadeIn "style="position: relative">
    <div class=" s-12 l-9 center cushycms" style="position: relative">
        <div id="owl-demo" class="owl-carousel owl-theme  margin-bottom">
        <div class="item" style="position: relative"><img style="position: relative" src="img/image1.jpg" alt="image"></div>
        <div class="item" style="position: relative"><img style="position: relative" src="img/image2.jpg" alt="image"></div>
        <div class="item" style="position: relative"><img style="position: relative" src="img/image3.jpg" alt="image"></div>
        <div class="item" style="position: relative"><img style="position: relative" src="img/image4.jpg" alt="image"></div>
        <div class="item" style="position: relative"><img style="position: relative" src="img/image5.jpg" alt="image"></div>
        </div>
    </div>
 </div>

不确定这是否有任何帮助,但这是我正在使用的模板http://www.myresponsee.com/

【问题讨论】:

    标签: html owl-carousel


    【解决方案1】:

    您可以使用&lt;picture&gt; 元素而不仅仅是&lt;img&gt;

    例如:

    <picture>
        <source srcset="mainimage-mobile.jpg" media="(max-width: 640px)">
        <img srcset="mainimage.jpg">
    </picture>
    

    在上面的代码中默认使用mainimage.jpg,但是一旦屏幕窄到641px - mainimage-mobile.jpg就会被浏览器自动使用。

    这种方法的唯一问题可能是浏览器支持http://caniuse.com/#search=picture。但另一方面,您也可以包含一个 javascript polyfill。 https://github.com/scottjehl/picturefill

    【讨论】:

    • 由于某种原因,它似乎只适用于 Firefox,在 chrome 上它仍然显示最大的图像。但是感谢您帮助我:)
    • 我很高兴它至少有部分帮助 :) 在最新的 Chrome 浏览器上它应该可以很好地工作。我可以猜到在您的情况下它无法在 Chrome 上运行的 2 个潜在原因:1. Chrome 版本太旧? 2. 您正在测试的 Chrome 窗口大小大于 640 像素?
    • 您是否检查过 Chrome 开发者工具上的“网络”选项卡以查看它下载的究竟是哪个图像?
    • 我已经修好了,他们给出的第一个例子不起作用,但第二个使用 标签的例子起作用了。再次感谢:)
    • 在移动设备上加载 2 张图片的性能如何?还是动态加载?
    【解决方案2】:

    您可能正在寻找宽度:width_you_want%; 这使得它取决于屏幕尺寸,宽度是相对的。

    文档: https://developer.mozilla.org/en-US/docs/Web/CSS/width

    【讨论】:

      猜你喜欢
      • 2014-10-09
      • 1970-01-01
      • 2023-04-07
      • 2018-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多