我正在尝试使用jQuery Cycle2插件创建图像幻灯片,该插件将响应,调整为浏览器宽度和高度。我能够使用Dynamic Container Sizing功能中的Auto Height文档来提高宽度。
请参阅我制作的小提琴here,这是我正在制作的网站构建的简化表示。
是否可以以某种方式为幻灯片提供max-height:100%;
div的.cycle-slideshow
?
从广义上讲,我面临的问题是长肖像图像并不真正适合我的网站设计,用户必须滚动才能看到完整的图像,这并不是很棒。
非常感谢。
答案 0 :(得分:9)
这个晚了一点,但我会试一试。
假设您的所有图像高度不同: 这是一个小技巧,即使使用不同尺寸的图像,也始终保持容器的大小相同。
伪术语
让我们获得一些新的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
希望这有帮助,欢呼!