CSS Normalization2025年2月26日 | 4 分钟阅读 引言全局 CSS 规则的集合是设计系统的一部分,其目标是规范化(消除)浏览器默认设置的差异。团队无需自带 CSS 规范化,并且当设计系统 CSS 集成到系统中时,它不需要额外的防御性 CSS 来解释产品之间规范化代码的差异。我们的全局规范化规则通过将元素的基本样式设置为适当的默认值,而不是完全重置元素样式,来遵循当前的最佳实践。 为什么我们需要规范化 CSS?每个浏览器根据其默认设置以不同的方式渲染不同的 HTML 组件。没有自定义 CSS 的网站在不同浏览器中查看时会显得不同,因为不同的浏览器具有不同的默认样式,也称为用户代理样式。Web 开发人员需要考虑这些许多默认样式,并确保它们被有效覆盖,即使在生成自定义 CSS 时也是如此。由于这可能既耗时又容易出错,因此开发人员通常会在应用任何设置网站风格的 CSS 之前,使用一组基本 CSS 规则删除或规范化(消除差异)这些用户代理样式。 全局默认设置在我们规范化规则中包含的一些全局定义的默认设置将在 CSS 导入后影响整个应用程序。这些默认设置包括(但不限于)以下内容:
排版标题font inherit 规则将把其父元素指定的字体样式应用于所有标题元素。 font 是一个速记属性,包含许多字体样式。重要的是要记住,标题现在将继承其父元素(即 <body>)的字体系列和字体大小。此规则确保标题元素的语义和外观相互分离。如果您需要样式化标题的帮助,请参阅我们的标题或实用程序类文档。 链接链接的功能与以前一样,但有一个变化:text-decoration-color 现在设置为 currentColor。此更改假定所有链接下划线,无论它们链接到的文本状态如何,都将与文本具有相同的颜色。 列表<ol> 和 <ul> 元素的样式已与它们的 .ds-c-list 兄弟元素类似,但有一个显著例外:它们利用 flex 来帮助常用内联列表模式,并提供对列表项间距的更多控制。如果您需要内联列表,可以在项目中本地包含 flex-direction: row。同样,如果列表项之间的距离与您的喜好不同,可以将 gap 调整为项目的理想值。总的来说,与浏览器的默认设置相比,使用 Flexbox 您应该对列表间距有更大的灵活性。 如果您希望特定列表未样式化,请为其添加 role="list" 属性。此功能允许您移除设计系统的默认规范化样式,并应用额外的 CSS 来移除默认的浏览器样式。 表单元素为了简化基本样式,某些表单元素已重新设计。以下是一些更显著的调整:
结论CSS 规范化涉及为特定元素设置默认样式,是一种实现浏览器之间一致性的方法,因为不同浏览器渲染方式可能不同。它是一个统一元素,因此确保布局没有间隙,并且外观在任何地方都是统一的。使用规范化可以纠正浏览器不一致性,从而为开发人员创建一个平等的开发环境。因此,CSS 规范化提供了更好的跨浏览器一致性和网络统一性,因为它能带来卓越的用户体验和 Web 开发人员的维护便利性。 |
我们请求您订阅我们的新闻通讯以获取最新更新。