首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CSS粘性定位 - 它的真正工作原理!

这篇文章详细解释了CSS中的sticky定位方式,并讲解了它的工作原理。 CSS中的sticky定位有很好的浏览器支持,但许多开发者并没有使用它。....some-component{ position: sticky; top: 0; } 有时候sticky定位能正常工作,有时候则不能。...当它正常工作时,元素会"粘"在一定位置,但在滚动的其他部分,它又会停止"粘"住。作为一个每天都在使用CSS的人,作者无法接受自己不能深入理解这个问题的根本原因,所以决定深入研究sticky定位。...CSS Sticky 定位的真正工作原理! CSS 的 sticky 定位有两个主要部分,即粘性元素和粘性容器。 粘性元素 - 是我们使用 position: sticky 样式定义的元素。...这意味着可以定义页脚具有粘性位置,并且在向下滚动时始终会出现粘在底部。当我们到达粘性容器的末尾时,元素将停留在其自然位置。最好将其用于自然位置为粘性容器底部的元素。

23920

CSS粘性定位是怎样工作

第二个原因是很多开发者并不能完全理解其工作原理背后的逻辑,这就是我的切入点。 ?...当它工作时,元素会粘住,但在滚动到其他部分,它会停止粘贴。 作为一个靠 CSS 混饭吃的人,我完全不能接受自己对这个问题是不理解的,所以我决定把粘性位置彻底搞清楚。...当我在包装元素中添加更多元素时,它就能开始正常工作了。 这是为什么? 这是因为当一个元素被赋予 position: sticky 样式时,粘性项目的容器是它可以粘贴的唯一区域。...粘性元素没有任何要浮动的元素,因为它只能浮动在同级元素上,作为唯一的子元素,它不能浮动。...这意味着你可以把页脚定义为粘性,并且在向下滚动时使它看起来总是被粘在底部。 当到达粘性容器的末端时,元素会停在它的自然位置。 最好是在以粘性容器底部为自然位置的元素上使用它。

1.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

CSS中的定位详解

CSS中的定位详解及扩展 定位分类 静态定位(static) 相对定位(relative) 绝对定位(absolute) 固定定位(fixed) 粘性定位(sticky) 定位的叠放次序(z-index...固定定位的元素不会随着滚动条的滚动滚动。 固定定位后,该元素不会占用原先的位置,脱离标准流。 固定定位的妙用:如何将一个盒子固定在版心的右侧(不管页面缩小放大,它一直在版心的右侧)。...再让固定定位的盒子向右走版心宽度的一,即 margin-left: 版心宽度的一; 此时固定定位盒子就会定位到版心的右侧了。 实现案例:网页中快速回到顶部的按钮。...注意:数字后面不能加单位。 只有定位的盒子才有z-index属性。...margin-left: -50px;  让盒子向左移动自身宽度的一(假设盒子自身的宽度为100px)。

1.4K30

Interection Observer如何观察变化

单击“left”按钮将使目标元素向左转换,以使其一在根元素中,另一不在。然后,ratioRatio应该更改为0.5,或者接近0.5。现在我们知道目标元素的一与根元素相交,但是我们不知道它在哪里。...创建位置粘性事件 CSS position属性的“sticky”[3]是一个有用的功能,但在CSS和JavaScript方面却有一些限制。...粘性节点的样式只能是一种设计,无论是处于其正常状态还是处于其粘性状态内。没办法让js知道这些变化。到目前为止,还没有伪类或js事件使我们知道元素的状态变化。...在此demo中,上下滚动以查看章节标题对各自章节的粘性反应。 demo3[4] 这个示例检测粘性元素何时位于滚动容器顶部,然后给其添加一个css类。...我个人迫不及待地希望这项功能尽快完成,并在所有支持Intersection Observer的浏览器中都能正常工作。 写在最后 我对Intersection Observer的研究到此结束。

2.5K20

聊聊苹果营销页中几个有趣的交互动画

当整个蓝色区域在红色区域中的时候,sticky 元素是没有粘性效果的(如图一); 当慢慢的向上滑的时候,蓝色的盒子超过了红色的滚动元素,那么 sticky 元素就会在蓝色的框中向下滑,实现粘性效果(如图二...其实这样我们就可以很清楚的知道为什么 sticky 元素的高度为什么不能等于它爸爸的高度了,因为如果相等的话,粘性定位元素已经完全没有了实现粘性效果的空间,也就相当于失效了。...❝以上原理参考了张鑫旭老师的 深入理解position sticky粘性定位的计算规则[3],文章中有讲解 「流盒」 和 「粘性约束矩形」 的概念解释,以及具体的代码结构和 css 实现,大家可以查看原文...❝关于滚动视差的讲解,大家可以参考这篇文章 滚动视差?CSS 不在话下[5],写的很详细。...滚动视差实现 前面我们也讲了滚动视差的原理,有了这个 background-attachment: fixed 属性,第二个动画基本上已经实现一了。

1.9K60

Linux命令之less命令的用法汇总

1.命令格式:   less [参数] 文件   2.命令功能:   less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件...有关)   b 向后翻一页   d 向后翻半页   h 显示帮助界面   Q 退出less 命令   u 向前滚动半页   y 向前滚动一行   空格键 滚动一行   回车键 滚动一页   [pagedown...  输入 :p 后,切换到log2013.log   5.附加备注   1.全屏导航   ctrl + F - 向前移动一屏   ctrl + B - 向后移动一屏   ctrl + D - 向前移动屏...  ctrl + U - 向后移动屏   2.单行导航   j - 向前移动一行   k - 向后移动一行   3.其它导航   G - 移动到最后一行   g - 移动到第一行   q / ZZ

3.2K10

从头学前端-CSS基础04

定位为什么需要定位> 定位可以让盒子在指定盒子内自由移动位置,并压住其他盒子,而浮动只能让盒子排在一行;定位的组成>定位是定位模式+边偏移> 定位模式用于指定一个元素在文档中的定位方式,使用CSS属性...position;值包括static、relative,absolute,fixed> 边偏移决定了改元素的最终位置;CSS中有top left right bottom四个属性;配合定位属性position...**子绝父相**:>子元素是绝对定位, 父元素则需要是相对定位,因为相对定位会保留位置,而绝对定位不保留位置;- 固定定位fixed> 以浏览器的可视窗口为准移动元素> 与父元素没有任何关系> 不随着滚动条的滚动滚动...> 不占用标准流的位置,是一种特殊的绝对定位- 粘性定位 sticky > 粘性定位可以被认为是相对定位和固定定位的混合> 已可视窗口为参考点> 占有标准流位置> 必须要有left,top right...但没有单位>当都没有z-index属性,按照属性叠放,后来居上- 绝对定位盒子居中: > left和top 设置 父元素宽度50% > margin-left和margin-top设置自身元素宽度的一-

61140

CSS布局:完全掌握position属性

一、position属性介绍 /**  * 静态定位,元素默认属性,不受top,left,bottom,right影响  */ position: static; /**  * 相对定位,相对于其正常位置定位...,元素在滚动时定位,到达指定位置时变为固定定位  */ position: sticky; position属性是CSS中非常重要的布局属性,可以用来实现多种复杂的效果,如悬浮导航、弹性盒子、响应式布局等...relative; } .relative-item {   position: relative;   top: 20px;   left: 20px; } 相对定位不会影响其他元素的位置,仅相对于元素的正常位置进行偏移...五、粘性定位的应用 .sticky-item {   position: sticky;   top: 20px; } 粘性定位可以让元素在滚动时按指定位置定位,到达指定位置后则变为固定定位,不会影响其他元素位置...常用于实现顶部导航或滚动时的固定搜索框效果。

27240

CSS笔记(14)

定位模式 定位模式决定元素的定位方式,它通过CSS的position属性来设置,其值可以分为四种....跟父元素没有任何关系 不随滚动滚动 固定定位不再占有原先的位置 固定定位也是脱标的,其实固定定位也可以看做是一种特殊的绝对定位. 固定定位小技巧:固定在版心右侧位置....让固定定位的盒子margin-left:版心宽度的一距离,多走版心宽度的一位置就可以让固定定位额盒子贴着版心右侧对齐了....做出来就是类似的效果. 5.粘性定位(了解) 粘性定位可以被看做是相对定位和固定定位的混合 语法: 选择器 { position : sticky ; } 以浏览器的可视窗口为参照点移动像素(固定定位特点...数字后面不能加单位 只有定位的盒子才有z-index属性. 绝对定位的盒子居中 想要实现绝对定位盒子的居中,想要用原来的margin:auto是会失效的(相对定位是可以的!!!)

57010

Position定位

static static属性是HTML元素的默认值,即没有定位,遵循正常的文档流对象,对于top、bottom、left、right、z-index属性的设置都被忽略。....t5{ position: fixed; top: 300px; } sticky sticky是粘性定位,元素的位置是基于用户的滚动位置来定位...,粘性定位的元素是依赖于用户的滚动,在position: relative与position: fixed定位之间切换,在页面显示时sticky的表现类似于position: relative,而当页面滚动超出目标区域时...元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位,这个特定阈值指的是top、right、bottom、left其中之一,必须通过指定top、right、bottom、left四个阈值其中之一,才可使粘性定位生效.../css-positioning.html https://developer.mozilla.org/zh-CN/docs/Learn/CSS/CSS_layout/Normal_Flow

98420

CSS3之position:sticky使用

一、简介css3中position有个属性值sticky,即粘型定位,初级面试中会经常问到,大多数面试者往往会忽略这个属性值,其可以理解为相对定位(relative)和固定定位(fixed)的结合。...三、注意事项父元素高度必须大于sticky元素的高度不设置父元素高度的时候,父元素不能使用除了overflow的visiable属性,比如auto、scroll设置父元素高度,子元素高度超过父元素高度,...父元素使用auto、scroll等属性,此时且出现了滚动,sticky依然是有效设置父元素高度,子元素高度没有超过父元素高度,此时没有出现滚动,sticky仅在父元素高度内有效sticky元素需要设置top...粘性定位!...测试sticky满足的条件,以上案例是可以正常进行sticky的,over我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

29800

CSS3之positionsticky使用

一、简介css3中position有个属性值sticky,即粘型定位,初级面试中会经常问到,大多数面试者往往会忽略这个属性值,其可以理解为相对定位(relative)和固定定位(fixed)的结合。...另一种场景是在一个盒子中高度固定,窗口有滚动的情况下,实现某元素一直保持在窗口的某个位置三、注意事项父元素高度必须大于sticky元素的高度不设置父元素高度的时候,父元素不能使用除了overflow的visiable...属性,比如auto、scroll设置父元素高度,子元素高度超过父元素高度,父元素使用auto、scroll等属性,此时且出现了滚动,sticky依然是有效设置父元素高度,子元素高度没有超过父元素高度,此时没有出现滚动...粘性定位!...测试sticky满足的条件,以上案例是可以正常进行sticky的,over我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

16910

一天一个 Linux 命令(16):less 命令

有关) b 向上翻一页 d 向后翻半页 h 显示帮助界面 Q 退出less 命令 u 向前滚动半页 y 向前滚动一行 空格键 滚动一页 回车键 滚动一行 [pagedown]: 向下翻动一页 [pageup...]: 向上翻动一页 四、命令功能 less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向下移动,却不能向上移动,而且 less 在查看之前不会加载整个文件。...跳过当前页面进行搜索 less -N -a /var/log/messages 六、快捷命令 1.全屏导航 ctrl + F - 向前移动一屏 ctrl + B - 向后移动一屏 ctrl + D - 向前移动屏...ctrl + U - 向后移动屏 2.单行导航 j - 下一行 k - 上一行 3.其它导航 G - 移动到最后一行 g - 移动到第一行 q / ZZ - 退出 less 命令 4.其它有用的命令

53410

探究 position-sticky 失效问题

CSS 的 position 值中,有一个非常有用的值 -- position: sticky,通常会被用于各种吸顶,吸底,吸边的效果中。...如果你对 sticky 还不太熟悉,可以先看看我的这篇文章:使用 position:sticky 实现粘性布局,当然,这篇文章里面有稍微探讨 position: sticky 生效或者说失效的规则,但是不太充分...正常的 DEMO 所以正常而言,类似下面的这种情况,sticky 是可以正常展示的。...:sticky 的生效规则,明白了生效规则就会知道为什么有的时候设定的 sticky 会失效: 须指定 top, right, bottom 或 left 四个阈值其中之一(且达到设定的阈值),才可使粘性定位生效...更多精彩 CSS 技术文章汇总在我的 Github -- iCSS ,持续更新,欢迎点个 star 订阅收藏。

4.5K20

position:sticky的兼容性尝试

开篇 笔者刚刚结束淘宝的工作,现在加入了一家有青春活力的垂直电商公司,正对着阿里巴巴的西溪园区,最近一直在熟悉新的工作环境和规范,因此博客有好些时间没有更新了,在此抱歉!...在这里主要介绍下关于css3草案的position:sticky属性的兼容。...,如50ms + 在侦听函数中计算元素的layout属性,可用setTimeout在定时器队列尾插入任务,异步渲染 + ios设备实现了一个属性-position:sticky,可以不用js来完成粘性布局...sticky布局有着几个条件: + 元素并不会脱离文档流,当元素被粘在视口的顶部时,原来在文档流中的位置仍然占据,这点类似relative定位 + 元素相对于其最近可滚动的祖先元素“粘性定位”,如果其祖先元素都不能滚动...若最近的祖先元素设置为overflow:hidden,则元素不会sticky定位 因此解决ios的代码可以这样: // sticky类为粘性布局的样式设置 if (gtIOS6) { // 大于等于

3.6K100

Vue2.脚手架

Vue.component('AppFooter',AppFooter); 关于position MDN文档:https://developer.mozilla.org/en-US/docs/Web/CSS...该元素根据文档的正常流程定位,然后根据顶部、右侧、底部和左侧的值,相对于其最近的滚动祖先和包含块(最近的块级祖先)进行偏移,包括与表格相关的元素。偏移不会影响任何其他元素的位置。...请注意,粘性元素会 "粘附 "到离它最近的、具有 “滚动机制”(在溢出为隐藏、滚动、自动或叠加时创建)的祖先上,即使该祖先不是离它最近的、实际滚动的祖先。 粘性定位元素是一种计算位置值为粘性的元素。...它被视为相对定位元素,直到其包含块在其流根(或其滚动的容器)内越过指定阈值(如将顶部设置为自动以外的值),此时它被视为 "粘住 "元素,直到遇到其包含块的对边。

10210

CSS固定定位与粘性定位4大企业级案例

本小节我们学习下固定定位与粘性定位的应用场景和案例。...属性值 描述 relative 相对定位 相对于自身正常位置进行位置的调整 absolute 绝对定位 相对于其最近的定位的父元素进行位置调整。...fixed 固定定位 相对于浏览器窗口进行位置调整 sticky 粘性定位 是基于用户的滚动位置来定位。 固定定位 相对于浏览器窗口进行定位,其它与绝对定位的特性一致。...常见的应用有:楼梯式导航、浏览器右侧菜单、底部通栏、全屏黑色半透明遮罩弹出层、弹出注册和登录框、左上固定右自适应后台管理系统布局 粘性定位 当滚动的高度>元素与浏览器的高度时,会以fixed固定定位显示...从学习一开始就进入工作状态,省得浪费时间。

1.5K30
领券