嘿,所以我正在自定义自定义过渡效果,但是很难实现它。我相信这是我对旋转木马如何准确工作的缺乏理解。无论如何,我要实现的效果是简单的淡出,我发现了许多示例,除了区别是图像将在 vades vades of Out之前 Zoom进入下一个图像。
换句话说,图像将具有 transition: scale(1)
到 transition: scale(1.1)
,然后将 opacity: 0
to opacity: 1
到下一个图像中。
我在Google上获得了3个随机图像,只是为了玩耍,似乎这里有2个问题。
- 过渡不是平滑
- 图像将在淡入下一个图像中逐渐减少。
codepen: http://codepen.io/anon/pen/owezyz
我的CSS:
.carousel-inner {
position: relative;
display: block;
top: 0;
left: 0;
}
/*
inspired from http://codepen.io/Rowno/pen/Afykb
*/
.carousel-inner .item {
opacity: 0;
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: auto;
-webkit-transition: opacity 2s linear;
-moz-transition: opacity 2s linear;
-o-transition: opacity 2s linear;
transition: opacity 2s linear;
}
.carousel-inner .item.active {
opacity: 1;
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: auto;
}
.item img {
display: block;
position: relative;
top: 0;
left: 0;
-webkit-transition: transform 10s linear;
-moz-transition: transform 10s linear;
-o-transition: transform 10s linear;
transition: transform 10s linear;
-webkit-transform: scale(1);
transform: scale(1);
}
.active img {
-webkit-transform: scale(1.1);
transform: scale(1.1);
position: relative;
top: 0;
left: 0;
}
/*
WHAT IS NEW IN 3.3: "Added transforms to improve carousel performance in modern browsers."
now override the 3.3 new styles for modern browsers & apply opacity
*/
@media all and (transform-3d),
(-webkit-transform-3d) {
.carousel-inner > .item.next,
.carousel-inner > .item.active.right {
display: block;
opacity: 0;
transform: scale(1) translateZ(0);
-webkit-transform: scale(1) translateZ(0);
}
.carousel-inner > .item.prev,
.carousel-inner > .item.active.left {
display: block;
opacity: 0;
-webkit-transform: scale(1.1) translateZ(0);
transform: scale(1.1) translateZ(0);
}
.carousel-inner > .item.next.left,
.carousel-inner > .item.prev.right,
.carousel-inner > .item.active {
display: block;
opacity: 1;
transform: scale(1.1) translateZ(0);
-webkit-transform: scale(1.1) translateZ(0);
}
}
/* just for demo purpose */
html,
body,
.carousel,
.carousel-inner,
.carousel-inner .item {
height: 100%;
}
img { width: 100% !important; }
这是一个很大的挑战,因为我又缺乏关于自举的旋转木马实际工作的"理解"。
非常感谢您的帮助,谢谢!
codepen
注意:请注意JavaScript中的其他行,然后从HTML
active
类