CSS3之position:sticky使用

举报
猫先生c 发表于 2023/09/25 14:32:51 2023/09/25
【摘要】 css3中position有个属性值sticky,即粘型定位,初级面试中会经常问到,大多数面试者往往会忽略这个属性值,其可以理解为相对定位(relative)和固定定位(fixed)的结合。

🐱个人主页:不叫猫先生
🙋‍♂️作者简介:专注于前端领域各种技术,热衷分享,期待你的关注。
📝个人签名:不破不立

@TOC

🥙一、简介

css3中position有个属性值sticky,即粘型定位,初级面试中会经常问到,大多数面试者往往会忽略这个属性值,其可以理解为相对定位(relative)和固定定位(fixed)的结合。

🥪二、使用场景

比如导航或者Tab当我们下拉的时候,则会被隐藏,但是我们要实现随着下拉导航或Tab保持在浏览器窗口顶端。

🌮三、注意事项

  • 父元素高度必须大于sticky元素的高度
  • 不设置父元素高度的时候,父元素不能使用除了overflow的visiable属性,比如auto、scroll
  • 设置父元素高度,子元素高度超过父元素高度,父元素使用auto、scroll等属性,此时且出现了滚动,sticky依然是有效
  • 设置父元素高度,子元素高度没有超过父元素高度,此时没有出现滚动,sticky仅在父元素高度内有效
  • sticky元素需要设置top、bottom、left、right的值

🍰四、案列

	<style>
		.sticky {
			position: -webkit-sticky;
			position: sticky;
			top: 0;
			padding: 5px;
			background-color: #cae8ca;
			border: 2px solid #4CAF50;
		}
		/* .box {
			overflow: scroll;
			margin-top: 100px;
			width: 100%;
			height: 500px;
			background: #ff0;
		} */
		/* .content {
			width: 100%;
			height: 800px;
			overflow: auto;
			background: #4CAF50;
		} */
	</style>
	<div class="content">
		<div class="box">
			<p>测试数据</p>
			<p>注意: IE/Edge 15 及更早 IE 版本不支持 sticky 属性。</p>
			<div class="sticky">粘性定位!</div>
			<div style="padding-bottom:2000px">
				<p>测试</p>
				<p>测试</p>
				<p>测试</p>
				<p>测试</p>
			</div>
		</div>
	</div>

修改css,测试sticky满足的条件,以上案例是可以正常进行sticky的,over

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。