CSS变量在Microsoft Edge中的工作方式是否不同?
我正在开发一个网站,并针对Firefox和Chrome进行了优化。该项目包含一个名为CSS变量在Microsoft Edge中的工作方式是否不同?,css,microsoft-edge,css-variables,Css,Microsoft Edge,Css Variables,我正在开发一个网站,并针对Firefox和Chrome进行了优化。该项目包含一个名为base.css的样式表,它包含在所有页面中,并包含一些全局设置和定义,包括一个用于存储颜色值的变量列表,如: :root { --yellow-1: #fff8e3; --yellow-2: #ffe9a9; } 以此类推,并给他们打电话,例如: .a-class { background-color: var(--yellow-2); } 当我在Edge中查看页面时,所有颜色都丢失
base.css
的样式表,它包含在所有页面中,并包含一些全局设置和定义,包括一个用于存储颜色值的变量列表,如:
:root {
--yellow-1: #fff8e3;
--yellow-2: #ffe9a9;
}
以此类推,并给他们打电话,例如:
.a-class {
background-color: var(--yellow-2);
}
当我在Edge中查看页面时,所有颜色都丢失了,当我使用DOM资源管理器时,它用红色下划线标记所有变量的使用。Edge是否以这种方式支持CSS变量?如何解决此问题?MS Edge支持来自EdgeHTML v15的CSS变量: 这里也有备份:
语法如下: 声明变量:
element {
--main-bg-color: brown;
}
element {
background-color: var(--main-bg-color);
}
使用变量:
element {
--main-bg-color: brown;
}
element {
background-color: var(--main-bg-color);
}
我也有同样的问题,但我定义了不透明度的变量。在Chrome中,它工作得很好,但在edge中却不行。在我从声明中删除不透明度后,它在Edge中也可以正常工作。我尝试隔离问题,而在Edge中似乎没有问题。正常CSS的工作原理与预期相同 选择浏览器前缀元素时,如:
::-ms-track
::-ms-fill-lower
::-ms-fill-upper
::-ms-thumb
变量在SE上不起作用。这是打字错误吗?正确声明时,
--yellow-2:#ffe9a9代码>在Edge中运行良好。你能提供一个测试用例来演示这个问题吗?如果你想在IE11中支持自定义属性,看看这个Polyfill:它可以使用小于2kb的缩小和压缩。它不仅限于:根声明。我在Microsoft Edge 44.18362.449.0中遇到了这个问题,所有变量都显示出来了,但都被划掉了。当变量动态添加到根中时,这似乎不起作用;e、 g.`function addCSS(css){document.head.appendChild(document.createElement(“style”)).innerHTML=css;}addCSS(“:root{--color0:white;}”)`