首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >背景图像放大效果

背景图像放大效果
EN

Stack Overflow用户
提问于 2014-08-12 10:42:28
回答 3查看 12K关注 0票数 0

我想达到一个效果,网站加载的背景“放大”。在文档准备好之后,背景图像应该逐渐缩小。

我决定在我的背景中使用绝对定位元素:

HTML:

代码语言:javascript
复制
<div class="intro">
  <div class="intro_bg"></div>
</div>

CSS:

代码语言:javascript
复制
.intro {
   width: 100vh; height: 95vh;
}

.intro_bg {
    width: 140%;
    height: 140%;

    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;

    background: url(../images/hills.jpg) no-repeat center center fixed;
    background-size: cover;
}

jQuery:

代码语言:javascript
复制
    $('.intro_bg').animate({
        'width': '100%',
        'height': '100%'
    },20000, function() { alert(); });

基本上,这不管用。它成功地缩放了.intro_bg,但是图像并没有像预期的那样放大。图像本身不会缩放或移动(这可能是cover的全部要点)。

如果我的想法不起作用,实现“背景放大”效果的最佳解决方案是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-12 10:51:36

为什么不更改应用一个转换类,并对超时进行刻度转换(以防止立即应用程序)?

这有一个额外的优点,就是在功能(JS)和表示(CSS)之间保持关注点的清晰分离。

演示Fiddle

HTML

代码语言:javascript
复制
<div class="intro">
    <div class="intro_bg"></div>
</div>

CSS

代码语言:javascript
复制
.intro {
    width: 600px;
    height:600px;
    overflow:hidden;
}
.intro_bg {
    width: 100%;
    height: 100%;
    background: url(http://www.picturesnew.com/media/images/image-background.jpg);
    background-position:center center;
    background-size:cover;
    transform:scale(1);
    transition:all 4s ease-in;
}
.intro_bg.zout {
    transform:scale(6); /* <--- change the scale of zoom out as appropriate */
}

Jq

代码语言:javascript
复制
setTimeout(function(){
    $('.intro_bg').addClass('zout');
},1000);
票数 5
EN

Stack Overflow用户

发布于 2014-08-12 10:51:27

您可以尝试将'%‘替换为'px’。

代码语言:javascript
复制
$('.intro_bg').animate({
    'width': '100%',
    'height': '100%'
},20000, function() { alert(); });

之后:

代码语言:javascript
复制
$('.intro_bg').animate({
    'width': '100px',
    'height': '100px'
},20000, function() { alert(); });

小提琴手

希望工作和帮助

票数 1
EN

Stack Overflow用户

发布于 2014-08-12 10:55:16

演示

css

代码语言:javascript
复制
.intro_bg {
    width: 1000px;
    height: 1000px;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
    position: absolute;
    z-index: -1;
    background: url(http://blog.jimdo.com/wp-content/uploads/2014/01/tree-247122.jpg) no-repeat center center;
    background-size: cover;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25262276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档