项目文件夹

文件
2026-07-13 21:36:17 +08:00

39 行
844 B
Markdown

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
---
title: CSS content-visibility for Long Lists
impact: HIGH
impactDescription: 加快初始渲染速度
tags: 渲染, css, content-visibility, 长列表
---
## CSS content-visibility 应用于长列表
对离屏内容应用 `content-visibility: auto`,延迟其渲染。
**CSS**
```css
.message-item {
content-visibility: auto;
contain-intrinsic-size: 0 80px;
}
```
**示例:**
```tsx
function MessageList({ messages }: { messages: Message[] }) {
return (
<div className="overflow-y-auto h-screen">
{messages.map(msg => (
<div key={msg.id} className="message-item">
<Avatar user={msg.author} />
<div>{msg.content}</div>
</div>
))}
</div>
)
}
```
对于 1000 条消息,浏览器会跳过约 990 条离屏项的布局/绘制(初始渲染速度提升 10 倍)。