前言
随着 Web 开发的发展,新的 CSS 趋势正在出现,以帮助开发人员创建更具视觉效果的网站。从响应式设计和动画到新技术和样式,CSS 趋势不断变化和适应,以满足现代网页设计的需求。由于 CSS 趋势是周期性的,因此可以合理地假设,到 2023 年,Web 开发中将会出现一些新的 CSS 趋势。
在本文中,了解 2023 年最值得关注的 10 个 CSS 趋势。这些趋势将帮助你通过释放 CSS 的力量来创建视觉上令人惊叹的响应式设计~
CSS Grid
「CSS Grid」是一个功能强大的布局模块,可让开发者创建复杂的响应式网格布局。它得到现代浏览器的完全支持,并且在网络开发人员中越来越受欢迎。这种惊人的 CSS 趋势可以轻松处理行或列。
子网格是一个已添加到网格布局中的便捷功能。你可以使用子网格功能创建子网格,该功能将模仿其父网格的布局。当子网格嵌套在另一个网格显示中时,它会选择其尺寸和间隙。父网格的布局将应用于子网格,尽管子网格仍然可以在必要时覆盖某些部分。
å¾ç
「浏览器支持:96.38%」
å¾ç
CSS书写模式
根据语言的不同,CSS 书写模式属性会调整文本的对齐方式,以便可以从上到下或从左到右阅读。例如,假设我们希望添加一些从左到右、从上到下阅读的文本。
å¾ç
这对于文本经常垂直放置的语言(例如中文、日语或韩语)很有帮助。出于美观原因,你可能希望在 CSS 趋势的帮助下在英语中使用这种特性。
「浏览器支持:97.37%」
å¾ç
滚动捕捉行为
为了控制 Web 浏览器的CSS 滚动捕捉行为,CSS 提供了一组有价值的属性。其中一些功能已经扩展,但更新的浏览器版本现在才可以访问其他功能。关于 CSS 趋势的最好的一点是,大概只有三分之一的 CSS 用户知道它。
使用「scroll-snap-type」属性,您可以通过多种方式修改容器上的滚动位置。开发人员可以获得更高的精度,而最终用户则可以享受更流畅、更可控的用户体验。
图片
「浏览器支持:95.32%」
图片
容器查询
CSS 尚未完全建立容器查询,尽管它们会的。它们将对我们如何看待响应式设计产生重大影响。基本概念是,除了视口和媒体之外,你还可以根据父容器的大小指定断点。
语法如下:
@container <container-condition> {
<stylesheet>
}
当容器大小发生变化时,根据查询容器评估的一组功能。如果条件为真,则应用 <stylesheet>中定义的样式。
「浏览器支持:87.42%」
å¾ç
新调色板
CSS实践者已经开始使用RGB来美化网页。最近 CSS 推出了三种新的调色板 HWB、LAB 和 LCH。
「HWB:」它是色调、白度和黑度的缩写。这是一个易于人们阅读的功能:您选择一种颜色,然后添加白色和黑色。最近发布的 Chrome、Firefox 和 Safari 都支持它。
「浏览器支持:87.71%」
「LAB:」它是根据 CIA LAB 色彩理论创建的,被认为是理论上最复杂的新色彩空间。LAB 颜色描述符包括人类可以感知的所有颜色,这是一个大胆的说法。现在只有 Safari 兼容这种 CSS 趋势,就像 LCH 一样。
「LCH:」它代表亮度、色度和色调,以拓宽可用颜色的调色板而闻名。Safari 仅支持 LCH。
「浏览器支持:15.38%」
CSS变量
CSS变量也称为CSS自定义属性,自2015年以来一直是市场上流行的CSS趋势,目前正受到越来越多CSS用户的关注。CSS 变量允许您在 HTML 代码中的其他位置存储和使用值。它有助于消除代码中的冗余,提高灵活性,提高代码的可读性。
html {
--color-primary: #191919;
}
「浏览器支持:95.81%」
视口单位
对于每个尝试为 iOS 上的 Safari 编写网站的人来说,设置视口单位都是一件麻烦事。移动浏览器显示设置为单位「vh」大小的容器小于应有的大小。
你需要使用自动调整容器大小的脚本来解决此错误。除了加载新脚本带来的不便之外,一些解决方法还会损害 Chrome 用户。
幸运的是CSS 现在支持新的相对长度和视口规范。其中一些是“vw”、“svw”、“lvw”和“dvw”。这些测量值是小视口尺寸、大视口尺寸和动态视口尺寸以及 UA 默认视口尺寸宽度的 1%。
「浏览器支持率:97.53%」
级联层
如果级联中的下一个元素具有更高级别的特异性,则 CSS 会覆盖对第一个元素的样式更改。由于代码库庞大,这个问题在大型项目中总是存在。这时 CSS 级联层就派上用场了。
图片
级联层为开发人员提供了主题、框架和设计方面更好的灵活性,以充分利用级联系统。与以启发式为中心的原始级联相比,级联层提供对底层级联逻辑的直接操作和管理。
「浏览器支持:87.57%」
内容可见性
CSS 中的内容可见性属性有助于加快网页上内容的呈现速度,以便用户可以在加载页面其余部分时与内容进行交互。借助此属性,开发人员可以命令浏览器页面的哪一部分具有独立的内容。作为回报,它可以帮助浏览器通过延迟计算来优化网页内容。
这里更详细内容可以看我的这一篇文章:两行CSS让页面提升了近7倍渲染性能!
「浏览器支持:71.40%」
间隙
Gap 属性是一种新兴的 CSS 趋势,有助于定义行和列之间的间隙,正式称为网格间隙。它可作为以下特性的替代品。
- Row-gap
- Column-gap
我们利用具有单个值的间隙属性来指示行和列之间的相同空间。如果行和列之间的距离存在差异,我们将使用具有两个值的间隙函数,首先定义行之间的距离,然后定义列之间的距离。您可以利用两个属性,行间隙和列间隙,使代码更加透明和易于理解。
图片
在gap属性之前,设计者需要使用具有一定限制的margin属性,例如在元素和容器边缘之间添加缩进。相反,gap 属性允许您指定项目之间的缩进,而无需使用此类技巧和花招,而仅依赖于语言的基本构造。