在HTML迅猛发展的 90 年代,不同的浏览器根据自身的 HTML 语法结构来支持实现不同的样式语言。随着 HTML 的发展,HTML 增加了很多功能,代码也越来越臃肿,HTML 就变得越来越乱。网页也失去了语义化,维护代码很艰难,于是 CSS 宛如救星,就这样诞生了。
然而历经 20 年的发展,有开发者发现,CSS 的特性在不断加码中,也丢失了初心。
链接:https://paulrobertlloyd.com/2023/162/a1/css_day/
未经允许,禁止转载!
我曾向自己保证今年坚决不参加任何Web大会,然而如今我却坐在这里,写着一篇关于 CSS Day的文章,而两周后我就要在 UX London 2023 上发表演说了。
也许是我的意志太过于薄弱吧,但机会就摆在眼前时,我实在无法说No。希望我不会后悔答应在 UX London 上发表演讲。我从不后悔答应在八年前的 CSS Day 上发言,至少他们还给我发了徽章。上一次接受他们的邀请是在 2019 年。此后发生了很多事情。在之前的版本中,我们讨论的重点是 CSS 新提出的特性,或者是如何解决仍然令人痛苦的缺失特性。今年感觉情况完全相反。事实上,在休息期间,我听到有人抱怨现在 CSS 的特性太多了。
举个例子,最初的 CSS 规范包含 3 个用于定义长度的相对单位:
像素(px):相对于画布的分辨率。
x-height(ex):相对于字母“x”的高度。
ems(em):相对于父容器的字体大小。
而如今,长度有 18 个相对单位(像素被视为绝对度量),增加了六倍。
这些数字表明了一个问题:如今网站的形状、大小和维度千变万化,CSS 需要考虑到这一点。如此发展的不仅仅是 CSS 的基础知识,不论是新功能还是扩展已有功能,在布局、排版、动画、音频等模块,哪怕精通其中之一,都有可能成为专家。然而,雇主们通常会认为不涉及JavaScript的前端开发可有可无,所以这类专家没有机会得到发展。
如今开发人员不再需要了解预处理器或其他工具,这部分抵消了 CSS 的特性数量不断增长带来的困难。虽然 Sass 很好地服务于社区,但随着 CSS 慢慢变成一种编程语言,Sass 的日子似乎快到头了。由浏览器承担更多繁重的工作有一定的好处。
然而,我们不免还是会有一种感觉,即负责 CSS 以及其他开放标准实现的群体日渐缩小。
今年的 CSS Day 由 Google 独家赞助。这不仅反映了当前的经济环境,也反映了他们在网络标准领域的绝对主导地位。
虽然 Google 占据主导地位,但 CSS 的发展却非常健康。甚至连 HTML 也参与了进来,使用<selectmenu>、<dialog> 和 popover 实现常见的 UI 模式更容易,因此 Web 的访问性也更好。不论我们喜欢与否,网络一直在仁慈的独裁者的指导下蓬勃发展,无论是 Tim Berners-Lee、Ian Hickson,还是现在的 Chrome 开发团队。
网络在这些相互竞争之间的持续推拉中不断向前发展,不断宣告死亡,却又永远充满活力。
Una在结束演讲时,分享了奥斯卡·王尔德(英国作家)的一句话:
人生只有两种悲剧:一种是得不到想要的,一种是得到了。如今我也有相同的感受。我一直在提倡接受平台的限制,CSS真的需要三角函数吗?然而,一个人的创意限制是另一个人完全忽略 CSS 的原因。也许这就是为什么 JavaScript 蓬勃发展,而 CSS 却沦为“玩具语言”的原因。CSS Day 再次成为一个发人深省的活动。但是一次 CSS 会议是不够的。如今这门语言如此广泛和深入,浏览器中的实现从未像现在这样稳定和完整,因此发展社区的机会比比皆是。另外,社区确实需要蓬勃发展,才能遏制硅谷的巨头。防止他们只注重自己的理论需求,同时也让他们专注于帮助开发人员满足用户需求。无论从哪个角度来看,一个由 Google 支配的网络都是一场真正的悲剧。