jQuery Cycle2幻灯片,具有响应高度和宽度

时间:2013-04-02 13:33:44

标签: jquery html css responsive-design jquery-cycle

我正在尝试使用jQuery Cycle2插件创建图像幻灯片,该插件将响应,调整为浏览器宽度高度。我能够使用Dynamic Container Sizing功能中的Auto Height文档来提高宽度。

请参阅我制作的小提琴here,这是我正在制作的网站构建的简化表示。

是否可以以某种方式为幻灯片提供max-height:100%; div的.cycle-slideshow

从广义上讲,我面临的问题是长肖像图像并不真正适合我的网站设计,用户必须滚动才能看到完整的图像,这并不是很棒。

非常感谢。

1 个答案:

答案 0 :(得分:9)

这个晚了一点,但我会试一试。

假设您的所有图像高度不同: 这是一个小技巧,即使使用不同尺寸的图像,也始终保持容器的大小相同。

伪术语

  1. 使图片成为幻灯片的“背景”,而不是位于其中。
  2. 在CSS中添加{background-size:cover}。
  3. 使用Cycle2的自定义模板启动此功能。 (黑客?呃,不是真的)
  4. 让我们获得一些新的CSS规则:

    .cycle-overlay {
        position:absolute;
        bottom:auto;
        top:0;
        left:0;
        width:100%;
        height:100%;
        z-index:0;
        background:#333;
        padding:0;
        opacity:1
    }
    .banner-background {
        width:100%;
        height:100%;
        background-position:center;
        background-size:cover;
        position:absolute;
        top:0;
        left:0;
        z-index:10;
    }
    .cycle-slideshow {
        width:100%;
        max-height:400px;
        background-position:center;
        background-size:cover;
        color:#fff;
        overflow:hidden;
    }
    

    HTML

    <div class="cycle-slideshow" 
      data-cycle-slides='li' 
      data-cycle-fx='scrollHorz' 
      data-cycle-speed='700' 
      data-cycle-timeout='7000'    
      data-cycle-overlay-template="<div class=banner-background style=background-image:url(http://domain.tld/images/{{background}})></div>" 
    >
        <ul>
           <li data-cycle-background="slide1.jpg"></li>
           <li data-cycle-background="slide2.jpg"></li>
           <li data-cycle-background="slide3.jpg"></li>
        </ul>
        <div class="cycle-overlay"></div>
            </div>
    

    JS

    $('.cycle-slideshow').on('cycle-before', function (opts) {
        var slideshow = $(this);
        var img = slideshow.find('.banner-background').css('background-image');
        slideshow.css('background-image', img);
    });
    

    假设您的所有图像都是相同的高度: 几个月前我写了一个关于将animate.css与Cycle2

    集成的例子

    这不是您要寻找的,但该示例提供了全宽度自动高度解决方案。

    查看代码,您将获得所需的信息。

    小提琴here

    另外,请记住Cycle2 您需要将额外的插件添加到幻灯片中心jquery.cycle2.center.js

    希望这有帮助,欢呼!