javascript - 如何在滚动时让一个项目 div 移动而其他项目不移动?
问题描述
我希望用户能够像往常一样滚动页面上的任何位置,但我希望文本在图像继续向下移动时保持在同一位置的右侧。在 Apple 的网站https://www.apple.com/apple-news/上发现了类似的想法,屏幕右侧的杂志向下移动的速度比左侧的杂志快。如何使用纯 css 和 js 实现这一点。值得注意的是,这不是网站的唯一部分。上面和下面都会有部分。
这是我的html:
<div style="display: flex; justify-content: space-between; padding: 40px;">
<div>
<div>
<span style="font-size: 80px; font-weight: bold; font-family: 'Raleway';" id="lookAtThesePhotos">Look at these photos</span>
</div>
</div>
<div style="width: 50%;">
<img style="float: right;" src="https://mv-hacks.com/images/event/hackers.jpg">
<img style="float: right;" src="https://mv-hacks.com/images/event/mrnguyen.jpg">
<img style="float: right;" src="https://mv-hacks.com/images/event/mrnguyen.jpg">
<img style="float: right;" src="https://mv-hacks.com/images/event/mrnguyen.jpg">
</div>
</div>
解决方案
您可以使用css 定位并为sticky
文本元素赋值
#lookAtThesePhotos {
position: sticky;
top: 0px;
}
<h1>Hola</h1>
<div style="display: flex; justify-content: space-between; padding: 40px;">
<div>
<span style="font-size: 80px; font-weight: bold; font-family: 'Raleway';" id="lookAtThesePhotos">Look at these photos</span>
</div>
<div style="width: 50%;">
<img style="float: right;" src="https://mv-hacks.com/images/event/hackers.jpg">
<img style="float: right;" src="https://mv-hacks.com/images/event/mrnguyen.jpg">
<img style="float: right;" src="https://mv-hacks.com/images/event/mrnguyen.jpg">
<img style="float: right;" src="https://mv-hacks.com/images/event/mrnguyen.jpg">
</div>
</div>
查看这些照片的文本最初会滚动,直到它显示在窗口顶部。然后它仍然固定在那里,图像滚动
Codepen 链接:https ://codepen.io/uchihamalolan/pen/oOYJba
当 span 元素为 0px 时,它将表现为fixed
元素。其余时间它将表现为相对定位。请注意,sticky
是一个相对较新的position
属性值,请检查是否支持
有关更多信息,请参阅: https ://css-tricks.com/almanac/properties/p/position/
推荐阅读
- android - Android studio missing "Order a translation" button
- python - Python缺少参数
- mysql - Oracle:获取具有相同日期的最后一条记录
- mongodb - MongoDB aggregation $graphLookup - find "connections" in common in collections of following relationships
- firebase - GDPR 和 Firebase 实时数据库 - 身份验证和用户识别:如何匿名化 Firebase 上的用户数据?
- javascript - 通过 JavaScript 添加的元素的样式不适用于我的 Phonegap 项目
- java - Java 整数常量 - 拆箱
- laravel-passport - 注册时的 Laravel Passport invalid_credentials
- c# - 如何通过 Code First 为实体框架上的列表属性创建唯一约束
- node.js - 节点和 Visual Studio