View Transition API 演练场 - 页面切换动画配置
在单页内模拟MPA过渡效果,自定义进场/出场动画,体验View Transitions API丝滑切换。
UD5工具箱
content-visibility: auto 是 CSS Containment Level 2 规范中的一个属性值。它允许浏览器跳过对屏幕外(不可见)元素的渲染工作,包括布局、绘制和合成。当元素滚动进入视口时,浏览器会自动恢复渲染。这可以显著减少初始页面加载时间和滚动时的计算开销,尤其适合包含大量内容的页面(如长列表、图库、信息流等)。
display: none — 元素完全从文档流中移除,不占据任何空间,DOM 仍存在但布局无视它。content-visibility: auto — 元素仍然占据布局空间(通过 contain-intrinsic-size 或自动估算),浏览器只是跳过其内容的渲染。滚动条位置保持稳定,用户体验更平滑。content-visibility: auto 非常适合虚拟化长列表,而无需复杂的 JavaScript 虚拟滚动方案。
contain-intrinsic-size 为浏览器提供一个预估的元素尺寸,在元素被跳过渲染时使用。如果没有这个值,浏览器无法准确知道未渲染元素的大小,可能导致滚动条频繁跳动(滚动条抖动问题)。contain-intrinsic-size: auto 200px;,其中 auto 表示浏览器会记住元素最后一次渲染的实际尺寸,200px 是首次渲染前的回退值。这样滚动体验更加流畅自然。
@supports (content-visibility: auto) { ... } 进行特性检测。
content-visibility: auto 不会影响 SEO。搜索引擎爬虫会解析完整的 DOM 和 HTML 内容,该属性只影响浏览器的渲染管线,不改变 DOM 结构或内容可访问性。所有文字内容仍然存在于 HTML 中,爬虫可以正常索引。在单页内模拟MPA过渡效果,自定义进场/出场动画,体验View Transitions API丝滑切换。
粘贴代码自动进行语法高亮显示,支持主流编程语言,生成带行号的HTML代码块,方便嵌入博客。
显示当前页面动画的实时 FPS 图表,检测掉帧和卡顿,辅助性能优化。
并排展示ease、ease-in、ease-out等不同CSS缓动函数的动画速率差异,辅助选择合适曲线。
拖拽添加图片与文字,生成响应式轮播图Slider,支持自动播放和导航点,提供HTML/CSS/JS代码。
分别使用 WebGPU 和 Canvas 2D 绘制复杂渐变,实时对比帧率与 CPU/GPU 占用,展示硬件加速优势。
执行各种属性修改,可视化显示哪些操作触发回流或重绘,帮助编写高性能代码。
提供一个用户界面来 get/set/del 基于 idb-keyval 库存储的数据,方便调试。
将普通CSS代码转换为Styled Components的模板字符串格式。
常用HTML实体编码(如© ©)的图形化速查表,点击即可复制实体名称或数字代码。
记录页面交互触发的所有DOM事件及其目标、冒泡阶段,以日志和瀑布形式展示。
配置字体、颜色、背景,生成可粘贴到浏览器控制台的%c格式化日志代码。
利用 `:target` 伪类创建无需JavaScript的弹窗组件,支持关闭按钮和遮罩层。
提供一份涵盖性能、安全、备份、监控等上线前检查清单,可自定义勾选。
根据输入的外部域名,生成 dns-prefetch、preconnect 和 preload 标签。
配置不同的下划线出现、消失动画(从中间、左侧等),生成链接美化CSS。
调节频率、包络和波形,合成短促的UI提示音并下载WAV。
注册一个Service Worker拦截请求并人为添加延迟,模拟慢速2G/3G网络效果。
选择算法并随机生成数组,以彩色条动画展示排序过程,帮助理解算法。
展示一些常用内置HTML元素和自定义元素例子,提供代码复制。
配置下划线从中间或一侧滑出的动画,生成无限菜单效果代码。
覆盖加载、渲染、安全、可访问性等领域的自查清单,勾选后生成得分与建议。
选择视频的一个片段,生成几秒钟的 GIF 动图作为预览缩略图,可设置尺寸和帧率。
在线响应式布局测试器,同时预览常见设备分辨率的网页显示效果,帮助检查前端适配。
开启监听后操作页面,统计 DOM 变化次数和频率,帮助定位布局抖动。
创建一个测试自定义元素,记录并展示 connectedCallback, attributeChangedCallback 等执行顺序。
展示各种 HTML5 验证属性(required, pattern, min, max 等)和自定义验证消息的效果。
在散点图上拖拽数据点,实时更新最小二乘回归线,显示斜率和截距。
内置多种轻短的通知声音,点击试听,选择配套项目使用(提供Base64代码)。
在时间轴上拖拽添加属性关键帧,实时预览动画并生成 @keyframes 代码。