css颜色值不区分大小写,#ff0000、#ff0000、#ff0000及color: red;均合法且渲染一致;但color: red;因属性名大写而失效,真正需严格区分大小写的是属性名、id选择器、自定义属性等。

CSS颜色名称本身不区分大小写,但别急着全用大写——真正踩坑的地方不在颜色值,而在你写错的其他地方。
color: Red; 和 Color: red; 哪个报错?
前者合法,后者直接失效。
-
color: Red;✅ 浏览器识别为红色,Red是颜色关键字,不区分大小写 -
Color: red;❌ 属性名Color大写,不是标准 CSS 属性,整个声明被忽略 - 同理,
BORDER-COLOR: #f00;也会被忽略,CSS 属性名是严格小写的(除非用 CSS 自定义属性--myColor)
#FF0000、#ff0000、#Ff0000 渲染结果一样吗?
完全一样,浏览器底层做的是字符到数值的映射,不是字符串比对。
- A–F 在十六进制中代表 10–15,
F和f都转成 15,无差别 - 缩写形式如
#F0F和#f0f同样等效,都展开为#ff00ff - 但注意:
#F0F0是非法长度(4位),整个值会被丢弃,不 fallback 到#F0F
rgb()、hsl() 函数名和参数大小写影响解析吗?
不影响,函数名和数字参数都不区分大小写,但风格混乱会干扰协作。
-
RGB(255, 0, 0)、rgb(255, 0, 0)、Rgb(255, 0, 0)全部有效 -
HSL(120, 100%, 50%)和hsl(120, 100%, 50%)效果一致 - 但
stylelint默认警告大写函数名;Git diff 里rgb()和RGB()被视为不同字符串,徒增噪音 - 更隐蔽的问题:
--primary-color: RGB(255,0,0);和color: var(--primary-color);虽然能运行,但变量值里混大写会让后续计算(如color-mix())更难维护
真正需要盯紧大小写的,从来不是颜色值本身,而是属性名、选择器 ID、自定义属性名、字体名这些地方。颜色值大小写自由,反而容易让人放松对其他关键标识符的敏感度——这才是实际项目中最常漏掉的一环。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











