前端项目发布到cdn上css被编译失效问题rgba失效和rgb失效

问题描述

CSS中background: rgba(0 0 0 / 50%)编译时会被压缩为background: #0008 0,这是由于纯黑色(0,0,0)在压缩时被简写导致。解决方法是将颜色值改为非纯黑,如rgba(1 1 1 / 50%),这样编译后会正确转换为background: #01010180而不会被省略。透明度50%对应的十六进制值为80(127.5≈128)。

background: rgba(0 0 0 / 50%);

被编译成了

background: #0008 0;

这个问题是
先将透明度50%的background转编译成了
透明度换算表

不透明度计算Hex
0.10.1 × 255 = 25.5 ≈ 261A
0.20.2 × 255 = 5133
0.30.3 × 255 = 76.5 ≈ 774D
0.40.4 × 255 = 10266
0.50.5 × 255 = 127.5 ≈ 12880
0.60.6 × 255 = 15399
0.70.7 × 255 = 178.5 ≈ 179B3
0.80.8 × 255 = 204CC
0.90.9 × 255 = 229.5 ≈ 230E6

background: #00000080;
其他的透明度都可以使用,唯独这个50%会有这个问题

如何解决

不要使用0,0,0,这样就不会被压缩成background: #0008 0;

background: rgba(0 0 0 / 50%);

使用

background: rgba(1 1 1 / 50%);

这样他转编译压缩后会被压缩成 background: #01010180;这样就不会出现压缩被省略的问题

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值