css - calc() 函数不返回百分比
问题描述
我正在为 CSS 自定义属性使用 polyfill。
这是我的变量(在现代浏览器上一切正常):
--main-color-hue: 205;
--main-color-saturation: 73%;
--main-color-luminosity: 29%;
--main-color: hsla(var(--main-color-hue), var(--main-color-saturation), var(--main-color-luminosity), 1);
--main-dark-color: hsla(var(--main-color-hue), var(--main-color-saturation), calc(var(--main-color-luminosity) * 0.5), 1);
--main-light-color: hsla(var(--main-color-hue), var(--main-color-saturation), calc(var(--main-color-luminosity) * 1.5), 1);
--main-text-color: hsl(0,100%, calc((30% - var(--main-color-luminosity)) *100));
--main-dark-text-color: hsl(0,100%, calc((30% - var(--main-color-luminosity)*0.5) *100));
--main-light-text-color: hsl(0,100%, calc((30% - var(--main-color-luminosity)*1.5) *100));
使用 polyfill,我得到以下结果--main-text-color
:
a {
background-color: red;
color: hsl(0,100%, calc((30% - 29%) * 100));
}
<a href="#">My link</a>
而且这个结果在 IE10 和 IE11 上不起作用……
解决方案
您的语义是正确的,但正如caniuse.com的“已知问题”选项卡中所述:
“IE 不支持颜色函数上的 calc()。例如:color: hsl(calc(60 * 2), 100%, 50%)。”
所以我相信这不是你的代码的错,“计算”它只是不能在 IE 上运行
推荐阅读
- java - Kubernetes:如何从 Java 微服务中检测总副本
- html - 从 HTML div 复制而不复制格式样式
- python - 程序来检查方程的平衡括号
- sql-server - 如何在不将所有列添加到 Group By 子句的情况下返回 MAX() 值?
- python - 用虚线高亮线和用 fig.update_traces 标记
- javascript - 从数组项创建对象
- rpgle - 如何在 ascii 中进行 base64 编码
- python - 如何在 Python 的不同文件函数中使用类中的变量?
- ruby - 在我的 MacOS 10.15.7 上升级 ruby 2.6 时遇到问题
- android-studio - jCenter & Bintray 正在关闭。怎么办?如果使用了第三方库,如何解决?