ResizeObserver怎么监视DOM大小变化


本篇内容主要讲解“ResizeObserver怎么监视DOM大小变化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ResizeObserver怎么监视DOM大小变化”吧!ResizeObserver 用于监听元素的大小尺寸变化,常见用于监听自适应大小的元素变化引起的宽高变化时处理应宽高变化而需要 JS 做特定处理的场景。说下我自己使用中遇到的三个场景:Tabs 组件的头部区域在超过宽度/高度时需要展示出超出滚动按钮组件中存在超出隐藏的场景,如多个标签超出一行后将剩余标签进行压缩等Table 组件横向滚动如果存在某几列数据需要固定展示的情况下需要根据宽度来计算是否需要出现滚动条和滚动体室阴影可以看出上面几个场景共性:当样式需要自适应宽高,而脚本又需要按照元素宽高来执行某些操作时。这些场景使用 ResizeObserver 就可以比较方便的进行处理。使用 ResizeObserver 第一步同样是先需要实例化一个 observer,第二步便是使用 observerobserve 将需要监听的元素添加到监视列表中:实例化时只需要接受一个参数:尺寸变化时的回调,回调函数中的 entries 则是所有添加到监视列表中的元素的 entry 信息列表,而 observer 同样是上面实例化的 observer 的引用。Scriptentry 中包括以下五个属性:borderBoxSize: 监听元素的 borderBox 尺寸contentBoxSize: 监听元素的 contentBox 尺寸devicePixelContentBoxSize: 监听元素的 contentBox 尺寸,不过是设备像素维度,而不是展示维度contentRect: 监听元素的 contentRect 信息,同 getClientRectstargetentry 所属的监听元素borderBoxcontentBox 就是我们常说的 CSS 盒模型中的 borderBoxcontentBoxentry 中的 borderBoxSizecontentBoxSize 中包含两个属性:blockSizeinlineSize,这两个属性的值与页面元素的 writing-mode 相关,默认情况下 blockSize 为纵向尺寸一般为高度,inlineSize 为横向尺寸一般为宽度。而当书写模式为纵向时,blockSizeinlineSize 的纵横向关系会调换。而 devic免费云主机域名ePixelContentBoxSize 则和设备像素比相关,在移动设备或是高分辨率屏幕中会与 CSS 像素存在差异。除了 observe 外,observer 还提供了 unobserve 来解除某个元素的监听,或直接调用 disconnect 来关闭对所有元素的监听。ResizeObserver 的兼容性较差,一般情况下推荐需要使用 polyfill 来进行补全:chrome 64edge 79firefox 69safari 13.1ie 不支持到此,相信大家对“ResizeObserver怎么监视DOM大小变化”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: CSS怎么实现奔跑的小人动画

今天小编给大家分享一下CSS怎么实现奔跑的小人动画的相关知识点,内容详细,逻辑清晰,相免费云主机域名信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。第一步:找到需要使用的米兔图片和小…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/07 21:57
下一篇 04/07 21:58

相关推荐