html - 用“粘性”制作一个可收缩的标题
问题描述
我想让我的标题的一部分粘在滚动上,而顶部消失:
body {
/* Allows to scroll */
width: 15em;
}
header {
width: 100%;
}
header a {
display: block;
background-color: red;
}
#title {
position: sticky;
top: 0;
}
<body>
<header>
<h1>
<a href="index.html">
<div id="caption">Some text</div>
<div id="title">Main title</div>
</a>
</h1>
</header>
<p>Distinctio ut totam quos aliquam et voluptas delectus vitae. Aut optio inventore repudiandae nemo consequatur dolores impedit. Rerum fuga repellat illum culpa qui aut est qui. Qui deleniti mollitia incidunt deleniti officiis aliquid ipsam. Sed molestiae porro consequatur blanditiis deserunt temporibus. Natus autem veritatis illo totam cupiditate quidem qui.</p>
<p>Tempore dolor est omnis rem. Reiciendis architecto quisquam dolor. Dolorem minus ea expedita quo sunt. Adipisci totam cum omnis omnis. Voluptas similique amet magnam consequatur consequatur animi et nihil. Sequi tenetur tempora magnam quaerat est voluptatem.</p>
<p>Magni voluptas et cum. Voluptatum omnis libero odit eligendi. Consequuntur provident fuga qui eveniet similique. Non voluptatem et rerum. Iste corrupti perspiciatis atque.</p>
<p>Recusandae in est enim. Occaecati optio consequatur atque perferendis veritatis. Est aut cupiditate ea. Corrupti cumque quia accusamus ut perspiciatis qui ea.</p>
<p>Quisquam rerum voluptas voluptas corrupti quaerat. Tempore totam nemo numquam a modi similique. Veritatis eos nobis laudantium delectus. Laboriosam in incidunt esse quo provident ut necessitatibus consequuntur.</p>
</body>
但正如您所看到的,这并没有按预期工作。我怎样才能做到这一点?
解决方案
粘性需要在h1
元素上,并且您考虑负最高值以实现您想要的,但您需要根据标题的高度找到正确的值
body {
/* Allows to scroll */
width: 15em;
}
header {
position: sticky;
top: -40px;
}
header a {
display: block;
background-color: red;
}
<body>
<header>
<h1>
<a href="index.html">
<div id="caption">Some text</div>
<div id="title">Main title</div>
</a>
</h1>
</header>
<p>Distinctio ut totam quos aliquam et voluptas delectus vitae. Aut optio inventore repudiandae nemo consequatur dolores impedit. Rerum fuga repellat illum culpa qui aut est qui. Qui deleniti mollitia incidunt deleniti officiis aliquid ipsam. Sed molestiae
porro consequatur blanditiis deserunt temporibus. Natus autem veritatis illo totam cupiditate quidem qui.</p>
<p>Tempore dolor est omnis rem. Reiciendis architecto quisquam dolor. Dolorem minus ea expedita quo sunt. Adipisci totam cum omnis omnis. Voluptas similique amet magnam consequatur consequatur animi et nihil. Sequi tenetur tempora magnam quaerat est voluptatem.</p>
<p>Magni voluptas et cum. Voluptatum omnis libero odit eligendi. Consequuntur provident fuga qui eveniet similique. Non voluptatem et rerum. Iste corrupti perspiciatis atque.</p>
<p>Recusandae in est enim. Occaecati optio consequatur atque perferendis veritatis. Est aut cupiditate ea. Corrupti cumque quia accusamus ut perspiciatis qui ea.</p>
<p>Quisquam rerum voluptas voluptas corrupti quaerat. Tempore totam nemo numquam a modi similique. Veritatis eos nobis laudantium delectus. Laboriosam in incidunt esse quo provident ut necessitatibus consequuntur.</p>
</body>
推荐阅读
- swift - Swift 4 将字符串转换为 UnsafeMutablePointer
- ember.js - 路由处理程序中的操作
- javascript - 如何使用参数调用查询,然后使用 dynamoose 进行填充
- python - 通过正则表达式搜索字符串并将其增加 1
- mysql - 用序列号列出mysql中的所有表
- go - 如何转换图像以上传 Spotify 个人资料图片?
- android - 需要更改哪些代码级别才能满足 Google Play 关于短信和通话记录的新政策
- python - 如何使用 openpyxl 模块检查用户输入是否在 Excel 列中
- html - 引导表单间距已关闭
- java - 在elasticsearch QueryBuilders中使用setFrom时如何获取总结果数?