【问题标题】:Animated background fitting screen动画背景拟合屏幕
【发布时间】:2023-03-10 03:01:01
【问题描述】:

我在初始屏幕上有一个背景图像,它从 100% 慢慢放大到 200%(没有其他原因,只是为了给页面一点生命)。它在水平屏幕上作为水平图像可以正常工作,但是当屏幕很窄(对于移动设备)时,顶部和底部会出现空白,因为图像不再填充背景。如果我将背景大小更改为“覆盖”,则动画无法正常工作(它从 0% 放大而不是填充屏幕)。

所以我的问题是 - 我如何设置初始大小以使其始终填满屏幕,然后慢慢放大到 200%?

$('.background').animate({
    backgroundSize: "200%"
	}, 40000);
body {
	margin: 0;
	padding: 0;
}

.background {
	width: 100%;
	height: 100vh;
	background-image:url(Front-Cover.jpg);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center center;
}
	
.header {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
	
.header img {
	width: 100%;
	height: auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="header">
	<img src="header.png" alt="">
</div>

<div class="background"></div>

【问题讨论】:

    标签: jquery background jquery-animate


    【解决方案1】:

    我无法让您的 sn-p 工作。试试这个 css,不需要 jquery。

    .background {
            width:100%;
            height:100%;
            background-image:url(Front-Cover.jpg);
            background-position: center;
            background-size: cover;
            animation: 5s ease example infinite;
    }
    
    @keyframes example {
        0%   {  transform: scale(1);}
        50% {  transform: scale(2);}
        0%   {  transform: scale(1);}
    }
    
    @keyframes example {
        0%   {  -webkit-transition: scale(1);}
        50% {  -webkit-transition: scale(2);}
        0%   {  -webkit-transition: scale(1);}
    }
        @keyframes example {
        0%   {  -moz-transition: scale(1);}
        50% {  -moz-transition: scale(2);}
        0%   {  -moz-transition: scale(1);}
    }
    

    【讨论】:

    • 你用的是什么浏览器?
    • 背景的 100% 高度不适合我。如果我把 100vh 放进去,那么它可以工作但没有动画(我假设它需要一个百分比才能正常工作)。在 Firefox 和 Safari 中测试
    猜你喜欢
    • 1970-01-01
    • 2014-11-04
    • 2023-03-28
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-15
    相关资源
    最近更新 更多