【发布时间】:2020-04-04 11:18:27
【问题描述】:
在 css 中定义颜色的格式有很多种:
- 十六进制颜色:
#FFF或#fff - RGB 颜色:
rgb(255, 255, 255) - RGBA 颜色:
rgba(255, 255, 255, 1) - HSL 颜色:
hsl(0, 100%, 100%) - HSLA 颜色:
hsl(0, 100%, 100%, 1) - 预定义/跨浏览器颜色名称:
white
但是这些不同格式之间的性能是否存在差异?例如,浏览器是否需要更长的时间才能理解它必须为颜色rgb(255, 255, 255) 渲染白色像素而不是为颜色#FFF 渲染?
我知道关于 SO 已经有类似的问题,例如:
- Are there any cons to using color names in place of color codes in CSS?
- #FFFFFF or “white” in CSS?
- Which is better, #fff or #FFF? [closed]
但在浏览器端的性能方面,它们都没有真正提供答案。
那么有人可以告诉我浏览器如何处理这些不同的格式吗?
【问题讨论】:
-
运行一些基准测试,看看你会得到什么,但我怀疑你会得到任何显着的差异。对于任何浏览器来说,所有类型之间的转换都应该是一项简单/快速的任务
-
@TemaniAfif 我也认为差异很小,但出于好奇,我想知道
#FFF是否比white更有效。我不知道如何进行这样的测试。 -
#fff比white快 我记得有一个基准测试,但差别非常小。