javascript - 如何使我的网页上的褪色背景大小相同?
问题描述
我一直在尝试制作一个与滚动页面相关的褪色效果的简单网站:
$(window).scroll(function() {
var y = $(this).scrollTop();
if (y > 1000) {
$('#img2').fadeIn({});
} else {
$('#img2').fadeOut('fast')
};
if (y > 2000) {
$('#img3').fadeIn({});
} else {
$('#img3').fadeOut('fast')
};
if (y > 3000) {
$('#img4').fadeIn({});
} else {
$('#img4').fadeOut('fast')
};
if (y > 4000) {
$('#img5').fadeIn({});
} else {
$('#img5').fadeOut('fast')
};
});
body {
background: black url('https://via.placeholder.com/500x300?text=img1');
background-repeat: no-repeat;
background-attachment: fixed;
background-size: cover;
}
#img1,
#img2,
#img3,
#img4,
#img5 {
margin: 0px !important;
width: 100%;
height: 100%;
display: none;
object-fit: fill;
align-content: center !important;
position: fixed;
z-index: -1;
}
<html>
<head>
<!--<link rel="stylesheet" type="text/css" href="style.css">-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!--<script src="script.js"></script>-->
</head>
<body>
<img id="img1" src="https://via.placeholder.com/500x300?text=img1">
<img id="img2" src="https://via.placeholder.com/150x100?text=img2">
<img id="img3" src="https://via.placeholder.com/150x100?text=img3">
<img id="img4" src="https://via.placeholder.com/150x100?text=img4">
<img id="img5" src="https://via.placeholder.com/150x100?text=img5">
</body>
</html>
如您所见,重叠的背景图像并没有完全覆盖第一个背景。我一直在阅读有关 CSS 标记和属性的信息,但无法解决。比我更有经验的人有什么建议吗?
解决方案
使用以下 CSS 属性强制图像的大小覆盖整个视口:
top: 0;
bottom: 0;
left: 0;
right: 0;
如果要保持图像的比例,请设置object-fit
为cover
而不是fill
.
您可能还想添加background-position: center
到 CSS 背景中以使图像居中到视口。
请参阅此处的工作示例:https ://jsfiddle.net/8x6Ljc4e/
推荐阅读
- pytorch - Pytorch - 批量标准化简单问题
- angular - 如何在图像 URL HTML 中传递用户名和密码。?
- node.js - Mongoose 查询列出用户加入的所有组
- c# - WPF - 具有从抽象类派生的不同对象的列的 DataGrid
- c - librdkafka 消费者没有收到来自代理的消息
- wordpress - 支付成功后订单状态仍为“Pending Payment”(自定义支付网关)
- database - oracle中的外部表和全局临时表有什么区别?
- google-app-engine - Appengine / 限制服务仅在单个域下可用
- php - Yii2 发送邮件:未显示来自电子邮件
- php - 会话数据文件在 session.gc_maxlifetime 和 session.cookie_lifetime 之前意外删除