对 px 说不,向 ch 致敬
Hacker News2026年8月23日 13:56
像素是一种谎言。即使你认为你用“像素完美”精确绘制了某物,你的显示器也在欺骗你。没有那种绝对完美的正方形网格。在 CSS 中,像素是双重谎言:注意,1px 并不一定等于一个物理设备像素。在高清显示器上,它可能跨越多个物理像素。同样,CSS 中的 1cm 通常也不对应于国际单位制的百分之一米。在大型电视屏幕上,它通常更长。这些长度是感知的:在典型的观看距离下,16px 在手机、笔记本电脑或电视屏幕上的显示效果大致相同。这个博客主要是以文本为基础的。我希望文本的宽度对普通人来说是可读的。因此,与其将主宽度设置为屏幕的百分比,我更倾向于基于字符宽度设置,使用 ch 单位——虽然它并不完全是一个字符,但对我来说已经足够了:CSS --width-content : min (75ch, 100%); main { max-width : var ( --width-content ); } 当涉及到内边距和外边距时,情况也是如此。如果我想要元素周围有间隔,我希望那个间隔与里面的文本成比例。对于宽度,重新使用 ch 单位是合理的。我想要间隔与文本成比例。但是对于高度,或许用字符宽度来表达垂直距离是没有意义的?在这种情况下可以使用 ex 单位。它是一个典型的小写字母的大小。就像我想从 HTML 中消除 CSS 类一样,过度使用这种方式也是可能的。我并没有将每个引用从 px 改为 ch,我只是实验看看是否有效。使用 px 或任何其他单位并没有错、没有不道德或邪恶的地方。使用 ch 和 ex 符合我个人的倾向。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡