这些特性兼顾现代 CSS 新语法和“实战中明显提升体验”的效果,适合日常项目直接用。
布局与响应式(5 个)
1. clamp() 响应式排版
用一行 CSS 让字号/间距在最小值和最大值之间自适应,适合做流式排版。
.title {
font-size: clamp(16px, 2vw, 28px);
}
2. aspect-ratio 控制宽高比
保持图片、卡片、视频等元素的宽高比例,避免页面布局抖动。
.card {
aspect-ratio: 16 / 9;
}
3. scroll-snap 交互式滚动
让横向滚动或轮播自动“吸附”到某个位置,提升手势体验。
.container {
scroll-snap-type: x mandatory;
}
4. gap 配合 grid / flex
给容器直接加间距,避免外边距纠缠问题。
.grid {
display: grid;
gap: 12px;
}
5. container 查询(容器查询)
让组件样式根据“当前容器”尺寸变化,而不是整个视口。
@container (min-width: 300px) {
.card { grid-template-columns: repeat(2, 1fr); }
}
交互与动效(5 个)
6. transform + opacity 做动画
用位移、缩放、透明度做动画,减少重排,更流畅。
.box {
transition: transform 0.2s, opacity 0.2s;
}
7. :focus-visible 聚焦样式
在键盘聚焦时显示 outline,鼠标点击时更简洁。
.btn:focus:not(:focus-visible) {
outline: none;
}
8. scroll-behavior: smooth
让内部锚点跳转平滑滚动,提升导航体验。
html {
scroll-behavior: smooth;
}
9. @media (prefers-reduced-motion) 减少动画
对动画敏感用户自动关闭或降级动画。
@media (prefers-reduced-motion: reduce) {
* {
animation: none;
transition: none;
}
}
10. scrollbar-gutter 避免抖动
防滚动条出现时横向布局“闪一下”。
html {
scrollbar-gutter: stable;
}
组件与视觉(5 个)
11. backdrop-filter 毛玻璃效果
给弹层、导航等加背景模糊。
.modal {
backdrop-filter: blur(8px);
}
12. accent-color 统一表单颜色
统一 checkbox、radio、range 的主色。
input {
accent-color: #1677ff;
}
13. ::marker 定制列表标记
修改列表前面的点、符号、颜色等。
li::marker {
color: #999;
}
14. object-fit 图片自适应
让图片在容器内自动缩放、不拉伸。
img {
width: 100%;
height: 100%;
object-fit: cover;
}
15. content-visibility: auto 性能优化
隐藏区域延迟渲染,长页面更流畅。
.section {
content-visibility: auto;
}
细节与可访问性(5 个)
16. cursor 细化鼠标反馈
区分可点击、可拖拽、默认状态等。
.btn {
cursor: pointer;
}
.drag {
cursor: move;
}
17. text-overflow: ellipsis 截断文本
一行代码让溢出文字优雅省略。
.title {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
18. user-select 控制选中行为
避免按钮、标签等被误选文字。
.tag {
user-select: none;
}
.select-all {
user-select: all;
}
19. @media (any-hover: hover) 适配输入设备
为鼠标/触屏分别设置样式。
@media (any-hover: hover) {
.btn:hover {
text-underline: 1px;
}
}
20. color-scheme 主题适配
声明组件支持“深色 / 浅色”系统主题。
.card {
color-scheme: light dark;
}