[英]background image zoomin Effect.
这是我的代码
<h1 class="logo-title"><span>DAVE</span></h1>
h1.logo-title {background: url(bg.jpg) no-repeat;background-position: 50% 100%;-webkit-background-clip: text;}
我正在尝试像这些网站一样使用背景图像放大和缩小动画效果。 这是演示。 http://wowslider.com/jquery-slider-bar-kenburns-demo.html http://owwwlab.com/toranj/index-2.html
请为我的背景图片提供解决方案。 在这种情况下有人可以帮助我。 ??
您可能会在这里得到这个主意:
HTML:
<div class="zoom-in strawberry">
</div>
<button onclick="zoomin(100, 2, 500)">Zoom In</button>
CSS:
.strawberry{
background-image: url('http://dreamatico.com/data_images/strawberry/strawberry-6.jpg');
background-repeat: no-repeat;
}
.zoom-in{
display: block;
width: 400px;
height:350px;
background-size: 400px;
}
脚本:
function zoomin(interval, sizeChangeEveryInterval, stopResizeWhenSizeReached){
var timeout = setInterval(function(){
var target = $(".zoom-in")
var bgposx = target.css('background-position-x') ? parseInt(target.css('background-position-x')) : 0;
target.css('background-position-x',(bgposx - sizeChangeEveryInterval) + "px");
var bgposy = target.css('background-position-y') ? parseInt(target.css('background-position-y')) : 0;
target.css('background-position-y',(bgposy - sizeChangeEveryInterval) + "px");
var bgsize = !isNaN(parseInt(target.css('background-size'))) ? parseInt(target.css('background-size')) : 100;
target.css('background-size',(bgsize + sizeChangeEveryInterval) + "px");
if(stopResizeWhenSizeReached < bgsize) clearInterval(timeout)
}, interval)
}
这是我的小提琴: http : //jsfiddle.net/ThisIsMarkSantiago/xm1zp09g/
最简单的方法是将img标签放在内容后面,然后进行transform: scale(110%,110%);
。 使用CSS对其进行动画处理:
div.container
{
position: relative;
}
img.background
{
position: absolute;
z-index: -1;
left: 0px;
// .. etc etc
transform: scale(100%, 100%);
transform-origin: 50% 50%; // wherever you want the 'midpoint' to be at.
transition: transform 5s linear;
}
img.background.active
{
transform: scale(110%, 110%);
}
轻而易举。
您当然可以仅使用background-image
完成此操作,但是从图像到图像的切换将更加困难。
您也可以使用纯CSS3动画解决此问题。 尽管可能并非每个平台都支持它
这是一个有效的示例 (被黑并在chrome中测试):
html, body { min-width: 400px; min-height: 300px; height: 100%; width: 100%; padding: 0; margin: 0; } .container { position: relative; height: 100%; width: 100%; background: #efefef; overflow: hidden; } .image { background-size: cover; background-repeat: no-repeat; position: absolute; top: 0; left: 0; right: 0; bottom: 0; -webkit-animation-name: zoom; animation-name: zoom; -webkit-animation-duration: 10s; animation-duration: 10s; -webkit-animation-direction: normal; animation-direction: normal; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; } .image-1{ background-image: url(http://www.chip.de/ii/917741674_393fa282fa.jpeg); } .image-2{ -webkit-animation-delay: 5s; animation-delay: 5s; background-image: url(http://www.chip.de/ii/917741714_fe3259c85e.jpeg); } @keyframes zoom { 0% {transform: scale(1,1); z-index: 2;} 49% {transform: scale(2,2);} 50% {opacity: 0} } @-webkit-keyframes zoom { 0% {-webkit-transform: scale(1,1); z-index: 2;} 49% {-webkit-transform: scale(2,2);} 50% {opacity: 0} }
<div class="container"> <div class="image image-1" style=""></div> <div class="image image-2" style=""></div> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.