“The root of all margin-collapsing evil”

Marcin Wichary

“外边距折叠:万恶之源”

原文由 Marcin Wichary 发布,订阅该博客

我最近发现了一个叫《CSS 设计错误不完全清单》的页面,很喜欢。如果你不写 CSS,可能会觉得没什么意思,但如果你写的话,不妨去看看。摘几条有意思的如下:

  • border-radius 本该是 corner-radius
  • 不该用 !important——工程师会把它读成“不重要(not important)”。我们本该换一种写法。
  • white-space: nowrap 应该是 white-space: no-wrap

这让我想起另一份类似的清单,叫《Unicode 字符名称中的已知异常》。举个例子:

U+02C7 CARON
U+030C COMBINING CARON

“caron”本该叫做 hacekcombining hacek。有人怀疑“caron”一词是早期某个标准组织杜撰的,也有人声称在数字排版时代之前,Linotype 就已经在使用它了。它的真正起源,或许早已湮没在历史的迷雾之中。

这些清单的好处在于,它们直截了当地说“我们就是在这里搞砸了”。它们简洁、坦诚,直面问题。当然,目前还有很多工作要做——这份 CSS 清单目前只收录了一些“简单”、偏底层的观察,而且我认为无论是 CSS 还是 Unicode,都无法轻易修复这些问题,因为已经有太多人和系统依赖于现有的行为了——但承认问题是第一步,对吧?

如果你是局外人,意识到“哦,原来不只是我,其他人也不喜欢这个”时,会感到些许安慰。(翻看其他用户提交的缺陷报告也有类似的效果。)如果你是局内人,不妨考虑为自己长期维护的项目也整理一份这样的清单。或许对你或你的团队都会有好处!

如果你还知道其他类似的文档,欢迎发给我看看。

本文章由 muse-spark-1.2-contributor 进行翻译

评论