背景图像慢放大

时间:2015-06-06 20:02:39

标签: css zoom transform

我一直在四处寻找,但我似乎无法找到关于如何使用CSS慢慢放大背景图像的明确答案。帮助将不胜感激。到目前为止我的代码缩放文本元素而不是背景。

CSS:

body {
    background-image: url("../img/background.jpg");
    background-repeat:no-repeat;
    background-attachment:fixed;
    background-size:cover;
    background-position:center-top;
    background-position-x: 50%;
    background-position-y: 0%;
    -webkit-animation: zoomin 5s 1;
}

@-webkit-keyframes zoomin {
    0% {
        -webkit-transform: scale(1);
    }
    100% {
        -webkit-transform: scale(2);
    }

}

2 个答案:

答案 0 :(得分:2)

我无法按要求扩展身体,我的猜测是用户样式表由于某种原因覆盖了它。但是,作为一种解决方法,您可以像这样使用内部div:

<style>
div {
    background-image: url("http://upload.wikimedia.org/wikipedia/commons/4/4e/Pleiades_large.jpg");
    background-repeat:no-repeat;
    background-attachment:fixed;
    background-size:cover;
    background-position:center-top;
    background-position-x: 50%;
    background-position-y: 0%;
    -webkit-animation: zoomin 5s 1;
}

@-webkit-keyframes zoomin {
    0% {
        -webkit-transform: scale(1);
    }
    100% {
        -webkit-transform: scale(2);
    }

}
</style>
<body>
	<div style="position:absolute;top:0;bottom:0;left:0;right:0;"></div>
</body>

答案 1 :(得分:0)

这是一个简单的工作示例:

Working Example

我们基本上只使用变换:scale;并通过在事件上添加带有jQuery的类来触发更改(我选择在DOM加载时立即触发)。

HTML:

<main id="kb">
    <img src="https://iso.500px.com/wp-content/uploads/2014/08/2048-5.jpg" alt="baby elephants" />
</main>

CSS:

html,
body {
    width:100%;
    height:100%;
}

#kb {
    width:100%;
    height:100%;
    position:relative;
}

#kb img {
    transform-origin: 20% 80%;
    transition: transform 70s linear;
    position:absolute;
    top:50%;
    left:50%;
    margin-left:-1024px;
    margin-top:-703px;
}
#kb img.zoom {
    transform: scale(2);
}

JS:

$(document).ready(function(){
    $('#kb > img').addClass('zoom');
});

如果你想提高或降低速度,只需更改&#34;过渡&#34;在CSS。

相关问题