html - 粘性到达,非粘性离开(无 JS)
问题描述
position: sticky
由于支持有所改善,因此决定试一试。下面是我创建的一个演示。
html,body{width:100%;height:100%;margin:0}
main{width:57.5vh;height:375vh;position:absolute;left:50%;transform:translateX(-50%);font-family:arial black;color:#fff;background:gold}
.title{--height:25vh;height:var(--height);position:sticky;text-align:center;line-height:var(--height)}
.e{background:pink}
.o{background:skyblue}
main>div:nth-child(1){height:100vh}
main>div:nth-child(2){z-index:5;top:0} /* STEP: 1 */
main>div:nth-child(3){height:75vh}
main>div:nth-child(4){height:150vh;position:sticky;top:25%;border:solid red 2px;box-sizing:border-box}
main>div:nth-child(4)>div:nth-child(1){z-index:3;top:25%} /* STEP: 2 */
main>div:nth-child(4)>div:nth-child(2){height:50vh}
main>div:nth-child(4)>div:nth-child(3){z-index:2;top:50%} /* STEP: 3 */
main>div:nth-child(4)>div:nth-child(4){height:25vh}
main>div:nth-child(4)>div:nth-child(5){z-index:1;top:75%} /* STEP: 4 */
.gap{height:100vh;background:limegreen}
<main>
<div></div>
<div class='title e'>STEP: 1</div>
<div></div>
<div>
<div class='title o'>STEP: 2</div>
<div></div>
<div class='title e'>STEP: 3</div>
<div></div>
<div class='title o'>STEP: 4</div>
<div class='gap'>GAP</div>
</div>
</main>
是否可以同时将“STEP 2”、“STEP 3”和“STEP 4”卡片从屏幕上推出,而不是容器底部将它们一张一张推出屏幕?我知道当前的“一对一”行为是正常的,但是是否有一种 hacky 方式,或者更好的是,一种非 hacky 方式来解决这种正常行为?
我尝试过使用bottom
而不是top
其他一些东西,甚至将三张卡片放在容器中,因为我迫切需要解决方案。
任何帮助将不胜感激。
解决方案
推荐阅读
- reactjs - React router v4 with redux 无法重新渲染组件
- android - 如何在 android studio 中访问 playstore play-services-gcm:15.0.1 中的谷歌地图?
- excel - 选择语句提取变量名
- go - 在 Go 中获取枚举的字符串表示的惯用方法是什么?
- .net - 如何使用数据库 SQL Server 了解 DotNet 中的错误响应?
- mysql - siremis 的数据库配置错误:SQLSTATE[HY000] [1045] 用户'siremis'@'localhost'的访问被拒绝(使用密码:是)
- ngx-admin - Nebular 以编程方式关闭带有表单的弹出框
- optimization - 如何为特定的优化问题建模?
- sharepoint - 迁移开箱即用 SharePoint 2010 --> SharePoint 2016 网站的最佳方式
- angular - Ionic 3, angular 5 - webapp 的缓存问题