← 返回博客
/前端

CSS 现代化实践

2 分钟阅读

CSS 现代化实践

CSS 在近年迎来了一批真正改变开发体验的特性,本文挑选四个高频场景介绍。

容器查询

不再只能”看窗口”,组件可以根据自身容器尺寸响应:

.card {
  container-type: inline-size;
}

@container (min-width: 400px) {
  .card-title {
    font-size: 1.5rem;
  }
}

:has() 选择器

“父选择器”让状态驱动的样式变得简洁:

/* 含图片的卡片增加间距 */
.card:has(img) {
  padding-top: 1rem;
}

级联层

@layer 明确管理样式优先级,告别 !important 军备竞赛:

@layer base, components, utilities;

逻辑属性

margin-inlinepadding-block 让样式天然适配书写方向:

/* 物理属性 */ margin-left: 1rem;
/* 逻辑属性 */ margin-inline-start: 1rem;

小结

新特性不是玩具,而是让 CSS 更可维护的工具。建议从逻辑属性和 :has() 开始,逐步迁移存量代码。

加载中…