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

CSS | 视差滚动 | 笔记

background-attachment: 决定 背景图像的位置 是在 口内固定 ,或者 随着包含它的区块滚动 。 它的属性值的含义如下: 属性值 含义 fixed 背景相对于固定。...即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动 local 背景相对于元素的内容固定。...scroll 背景相对于元素本身固定,而不是随着它的内容滚动(对元素边框是有效的)。 对父元素 css_demo 设置 overflow: scroll, 元素内容超出页面滚动。...,但只有当其对应容器抵达才能显示对应可视区域的背景图。...核心问题是移动浏览器(Chrome和Safari)有一个“帮助”功能,地址栏有时可见,有时隐藏,改变了可见大小。

57621

「实用推荐」如何优雅的判断元素是否进入当前

背景 在上篇文章:记一次 「 无限列表 」滚动优化 中, 我介绍了「 如何优化一个无限滚动列表 」。 用到了懒加载方案, 一个关键点是:需要判断元素是否在当前区。 我们今天就看看这个问题。...---- 今天的主要内容包括: 使用元素位置判断元素是否在当前区 使用 Intersection Observer 判断元素是否在当前区 实例:懒加载 实例:无限滚动 实用 npm 包推荐 正文...比如说,你想跟踪 DOM 树里的一个元素,它进入可见窗口得到通知。...从输出最有用的特性是: isIntersecting target intersectionRect isIntersecting:元素与默认根(在本例中为)相交,将为true. target:...实例:懒加载(lazy load) 有时,我们希望某些静态资源(比如图片),只有用户向下滚动,它们进入才加载,这样可以节省带宽,提高网页性能。这就叫做"惰性加载"。

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

滚动视差?CSS 不在话下

background-attachment: fixed fixed 此关键字表示背景相对于固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。...fixed 此关键字表示背景相对于固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。 这里的关键在于,即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。...而滚动视差效果,正是按常理出牌的一个效果,重点来了: 页面滚动到图片应该出现的位置,被设置了 background-attachment: fixed 的图片并不会继续跟随页面的滚动而跟随上下移动,...而是相对于固定死了。...CodePen Demo -- CSS 3D parallax 很明显,滚动滚动,不同子元素的位移程度从视觉上看是不一样的,也就达到了所谓的滚动视差效果。

1.7K30

滚动视差?CSS 不在话下

background-attachment: fixed fixed 此关键字表示背景相对于固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。...fixed 此关键字表示背景相对于固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。 这里的关键在于,即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。...而滚动视差效果,正是按常理出牌的一个效果,重点来了: 页面滚动到图片应该出现的位置,被设置了 background-attachment: fixed 的图片并不会继续跟随页面的滚动而跟随上下移动,...而是相对于固定死了。...,效果如下: [css3dparallax] 很明显,滚动滚动,不同子元素的位移程度从视觉上看是不一样的,也就达到了所谓的滚动视差效果。

1.9K80

滚动视差?CSS不在话下

background-attachment: fixed fixed 此关键字表示背景相对于固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。...fixed 此关键字表示背景相对于固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。 这里的关键在于,即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。...而滚动视差效果,正是按常理出牌的一个效果,重点来了: 页面滚动到图片应该出现的位置,被设置了 background-attachment: fixed 的图片并不会继续跟随页面的滚动而跟随上下移动,...而是相对于固定死了。...CodePen Demo — CSS 3D parallax 很明显,滚动滚动,不同子元素的位移程度从视觉上看是不一样的,也就达到了所谓的滚动视差效果。

1.3K20

前端-滚动视差?CSS 不在话下

background-attachment: fixed fixed 此关键字表示背景相对于固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。...fixed 此关键字表示背景相对于固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。 这里的关键在于,即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。...而滚动视差效果,正是按常理出牌的一个效果,重点来了: 页面滚动到图片应该出现的位置,被设置了 background-attachment: fixed 的图片并不会继续跟随页面的滚动而跟随上下移动,...而是相对于固定死了。...CodePen Demo — CSS 3D parallax(https://codepen.io/Chokcoco/pen/EpOeRm) 很明显,滚动滚动,不同子元素的位移程度从视觉上看是不一样的

1.5K30

CSS 定位详解

3.3 fixed 属性值 fixed表示,相对于(viewport,浏览器窗口)进行偏移,即定位基点是浏览器窗口。这会导致元素的位置不随页面滚动而变化,好像固定在网页上一样。 ?...div { position: fixed; top: 0; } 上面代码中,div元素始终在顶部,不随网页滚动而变化。...它的具体规则是,页面滚动,父元素开始脱离(即部分不可见),只要与sticky元素的距离达到生效门槛,relative定位自动切换为fixed定位;等到父元素完全脱离(即完全不可见),fixed...,#toolbar的父元素开始脱离,一旦的顶部与#toolbar的距离小于20px(门槛值),#toolbar就自动变为fixed定位,保持与顶部20px的距离。...页面继续向下滚动,父元素彻底离开(即整个父元素完全不可见),#toolbar恢复成relative定位。 五、 sticky 的应用 sticky定位可以实现一些很有用的效果。

1.7K40

一文彻底搞懂js中的位置计算

scrollHeight 的值等于该元素在不使用滚动条的情况下为了适应口中所用内容所需的最小高度。...本质上就是元素出现滚动,判断当前元素出现的高度 + 滚动条高度 = 元素本身的高度(包含隐藏部分)。...element.getBoundingClientRect()返回的 height 和 width 是针对元素可见区域的宽和高(具体尺寸根据 box-sizing 决定),并不包含滚动条被隐藏的内容。...计算边界矩形,会考虑区域(或其他可滚动元素)内的滚动操作,也就是说,滚动位置发生了改变,top 和 left 属性值就会随之立即发生变化(因此,它们的值是相对于的,而不是绝对的) 。...计算元素是否出现在口内 利用的还是元素距离的位置小于的大小。 注意即便变成了负值,那么也表示元素曾经出现过在屏幕中只是现在不显示了而已。

3.7K10

【适配】425- 彻底搞懂移动Web开发中的viewport与跨屏适配

维基百科①的解释为: 在计算机图形学理论中,将一些对象渲染到图像,存在两个类似区域的相关概念。(和窗口) 是一个以特定于渲染设备的坐标表示的区域(通常为矩形)。...范围内的图像会以剪切的形式,投影到到世界坐标窗口中,完成图像的可视化展示。 在 Web 浏览器中,是整个文档的可见部分。如果文档大于,则用户可以通过滚动来移动。...同理,浏览器窗口比较小,而我们想要看到页面下面的内容,我们需要向下滚动滚动条,浏览器在实现这个的过程中所依赖的,便是的下移。...不过,该方案依然会有很多问题: ●对缩小版页面内细节内容的浏览,依然要依靠放大和滚动,体验不好; ●如果 为 PC 设计的 网页的 CSS 宽度描述大于 980px,那么在移动端展示,初始页面依然会有滚动条...在滚动到视图中之前,口外部的内容在屏幕上不可见。 ●当前可见口部分称为可视。这可以小于布局,例如当用户进行缩放缩放。该布局保持不变,但视觉变小。

2.8K30

彻底搞懂移动Web开发中的viewport与跨屏适配

维基百科①的解释为: 在计算机图形学理论中,将一些对象渲染到图像,存在两个类似区域的相关概念。(和窗口) 是一个以特定于渲染设备的坐标表示的区域(通常为矩形)。...范围内的图像会以剪切的形式,投影到到世界坐标窗口中,完成图像的可视化展示。 在 Web 浏览器中,是整个文档的可见部分。如果文档大于,则用户可以通过滚动来移动。...同理,浏览器窗口比较小,而我们想要看到页面下面的内容,我们需要向下滚动滚动条,浏览器在实现这个的过程中所依赖的,便是的下移。...不过,该方案依然会有很多问题: ●对缩小版页面内细节内容的浏览,依然要依靠放大和滚动,体验不好; ●如果 为 PC 设计的 网页的 CSS 宽度描述大于 980px,那么在移动端展示,初始页面依然会有滚动条...在滚动到视图中之前,口外部的内容在屏幕上不可见。 ●当前可见口部分称为可视。这可以小于布局,例如当用户进行缩放缩放。该布局保持不变,但视觉变小。

3.2K20

浏览器之性能指标-LCP

你能所学到的知识点 ❝ 前置知识点 LCP 是个啥 如何测量 LCP 优化 LCP 的10种方式 ❞ 前置知识点 (Viewport) ❝网页是指在浏览器中用于显示网页内容的「可见区域」。...FCP也是一个指标,它告诉我们某人访问我们的网站,「第一个带有任何内容的元素绘制所需的时间」。...相反,它将专注于加载口上方的内容,并仅在需要渲染非关键资源,以加快页面加载过程。 ❞ 使用这种方法,我们的网站可以根据它们与的距离异步加载文件。...例如,首屏上方呈现的内容(如logo图像)将在初始加载立即显示。但是,之外的视频缩略图等元素将「用占位图像替换」,直到用户滚动到它们为止。 然而,由于几个问题,延迟加载有时可能会恶化LCP得分。...红色(非关键):适用于立即可见内容的样式;对于页面的核心功能而言未使用的代码。 ❝关于Coverage的使用方式,可以参考我们之前写过的浏览器之性能指标_FCP),这里就不在赘述了。

1.1K30

浏览器渲染(线程视角2)

,布局要经过如下操作: 创建布局树:遍历DOM树中的可见节点,把节点添加到布局树中,不可见节点忽略 布局计算:将节点对应的styleSheet对象合并,计算出展示节点的样式具体样式 image.png...后缓冲区:一旦显卡把合成的图像保存到后缓冲区,后缓冲区和前缓冲区交换,滚动或缩放,渲染引擎通过渲染流水线产生图片并发送到显卡的后缓冲区,显示器刷出图像,显卡更新的频率和显示器刷新频率是一致的,但复杂场景...属性,渲染引擎解析到css,要先将其转化为浏览器可以理解的styleSheet结构,转换过程需要经过属性值得标准化过程,和继承层叠规则计算出每个dom节点的样式,styleSheet也为之后js脚本提供操作接口...布局:布局阶段将dom树与样式表styleSheet进行合并计算出最终展示的节点的样式和内容 分层:界面内元素出现层叠上下文属性,并且出现了内容溢出,需要裁剪出现滚动,就会提升为独立的一层,用层来优化渲染合成图片的速度...绘制:分层树生成后,渲染引擎会创建绘制列表,绘制的过程中需要使用合成线程来完成 分块:合成线程会将图层划分为图块,附近的图块会优先进行合成 栅格化:图块是栅格化的最小单位,将图块生成位图的操作称为栅格化

2K70

CSS 定位详解

# 3.3 fixed 属性值 fixed表示,相对于(viewport,浏览器窗口)进行偏移,即定位基点是浏览器窗口。这会导致元素的位置不随页面滚动而变化,好像固定在网页上一样。...div { position: fixed; top: 0; } 1 2 3 4 复制 上面代码中,div元素始终在顶部,不随网页滚动而变化。...它的具体规则是,页面滚动,父元素开始脱离(即部分不可见),只要与sticky元素的距离达到生效门槛,relative定位自动切换为fixed定位; 等到父元素完全脱离(即完全不可见),fixed...,#toolbar的父元素开始脱离,一旦的顶部与#toolbar的距离小于20px(门槛值),#toolbar就自动变为fixed定位, 保持与顶部20px的距离。...页面继续向下滚动,父元素彻底离开(即整个父元素完全不可见),#toolbar恢复成relative定位。 # 五、 sticky 的应用 sticky定位可以实现一些很有用的效果。

1.7K10

面试官问:如何判断一个元素是否在可视区域?

一个Intersection Observer对象被创建,其被配置为监听根中一段给定比例的可见区域。...一次是目标元素刚刚进入(开始可见),另一次是完全离开(开始不可见)。...() 方法的返回值,如果没有根元素(即直接相对于滚动),则返回 null boundingClientRect:目标元素的矩形区域的信息 intersectionRect:目标元素与(或根元素)...比如,[0, 0.25, 0.5, 0.75, 1] 就表示目标元素 0%、25%、50%、75%、100% 可见,会触发回调函数。...应用场景 「图片的懒加载」 有时,我们希望某些静态资源(比如图片),只有用户向下滚动,它们进入才加载,这样可以节省带宽,提高网页性能。

2.7K21

IntersectionObserver API 使用教程

网页开发,常常需要了解某个元素是否进入了""(viewport),即用户能不能看到它。 上图的绿色方块不断滚动,顶部会提示它的可见性。...一次是目标元素刚刚进入(开始可见),另一次是完全离开(开始不可见)。...intersectionRatio:目标元素的可见比例,即intersectionRect占boundingClientRect的比例,完全可见为1,完全不可见小于等于0 上图中,灰色的水平方框代表...四、实例:惰性加载(lazy load) 有时,我们希望某些静态资源(比如图片),只有用户向下滚动,它们进入才加载,这样可以节省带宽,提高网页性能。这就叫做"惰性加载"。...比如,[0, 0.25, 0.5, 0.75, 1]就表示目标元素 0%、25%、50%、75%、100% 可见,会触发回调函数。

1.8K60

2023年即将推出的CSS特性对你影响大不大?

作为开发人员,希望 100vh (高度的 100%)表示“与一样高”,但该 vh 单元不考虑移动设备上缩回导航栏之类的事情,因此有时它最终会太长并导致滚动。...为了解决这个问题,现在在 Web 平台上提供了新的单位值: 小视高度和宽度(或 svh 和 svw),表示最小的活动大小。 较大的高度和宽度(lvh 和 lvw),表示最大大小。...动态高度和宽度(dvh 和 dvw)。...这意味着您向上或向下滚动,动画会向前或向后滑动。此外,对于滚动驱动动画,您还可以根据元素在其滚动容器中的位置来控制动画。...这允许您创建有趣的效果,例如视差背景图像、滚动进度条和在进入视野显示自己的图像。 此 API 支持一组 JavaScript 类和 CSS 属性,使您可以轻松创建声明性滚动驱动的动画。

17430

大白话详解Intersection Observer API

因此官方就提出了Intersection Observer API,该 API 的出现就是为了高效的解决以下两大类问题: 某个元素是否可见,如: 图片懒加载——图片滚动可见才进行加载 内容无限滚动...用于检查目标的可见性。默认为浏览器。 如果指定为 null,也为浏览器。 必须是目标元素的父级元素。 rootMargin --- 根元素的扩缩边距。...传入数值类型,只会触发一次。 传入数组类型,可触发多次。...顶级文档的(一般为 html) rootMargin 根元素的扩缩边距。...element.getBoundingClientRect()相同 rootBounds 返回根元素的矩形区域的信息,getBoundingClientRect()方法的返回值,如果没有根元素(即直接相对于滚动

9710

关于移动端适配,你必须要知道的

,我们用到最多的单位是 px,即 CSS像素,页面缩放比例为 100%,一个 CSS像素等于一个设备独立像素。...布局( layout viewport):当我们以百分比来指定一个元素的大小时,它的计算值是由这个元素的包含块计算而来的。这个元素是最顶级的元素,它就是基于布局来计算的。...上面在介绍 CSS像素曾经提到 页面的缩放系数=CSS像素/设备独立像素,实际上说 页面的缩放系数=理想宽度/视觉宽度更为准确。...所以,页面缩放比例为 100%CSS像素=设备独立像素, 理想=视觉。 我们可以通过调用 screen.width/height来获取理想大小。...document.documentElement.scrollHeight:在不使用滚动条的情况下适合口中的所有内容所需的最小宽度。

1.9K41

关于移动端适配,你必须要知道的

,我们用到最多的单位是 px,即 CSS像素,页面缩放比例为 100%,一个 CSS像素等于一个设备独立像素。...布局( layout viewport):当我们以百分比来指定一个元素的大小时,它的计算值是由这个元素的包含块计算而来的。这个元素是最顶级的元素,它就是基于布局来计算的。...上面在介绍 CSS像素曾经提到 页面的缩放系数=CSS像素/设备独立像素,实际上说 页面的缩放系数=理想宽度/视觉宽度更为准确。...所以,页面缩放比例为 100%CSS像素=设备独立像素, 理想=视觉。 我们可以通过调用 screen.width/height来获取理想大小。...document.documentElement.scrollHeight:在不使用滚动条的情况下适合口中的所有内容所需的最小宽度。

2K10
领券