CSS 背景色使用 var() 时如何设置透明度?
如果背景色通过 var(--xxx) 指定,而 --xxx 为 rgb 或 hsl 格式的颜色,则无法直接使用 background-opacity 属性来设置背景透明度。
解决方案:
-
使用 rgba 或 hsla 形式:
background: rgba(255, 0, 0, 0.6);
-
使用十六进制色值:
- 透明度为全透明:#0996
- 透明度为 66%:#00999966
-
使用伪元素:
利用伪元素作为背景层,并设置透明度,同时不会影响元素内容的透明度。
需要注意的是,使用 opacity 或 filter: opacity() 会影响元素整体的透明度,因此不适用于此场景。