似乎filter: none;在Safari(速度)上的位置/顺序有很大的不同.有人可以对所发生的事情提供一个可靠的解释吗?
仅在Safari中检查以下两个示例
示例1 :( filter: none;在CSS规则结束时,它在Safari上非常慢)
section#pitches>div>div:hover {
opacity: 0.6;
filter: grayscale(0%);
-webkit-filter: grayscale(0%);
filter: none; /* IE 6-9 */
}
Run Code Online (Sandbox Code Playgroud)
示例2 :( filter: none;在其他浏览器特定的过滤器上方移动使其快得多)
section#pitches>div>div:hover {
opacity: 0.6;
filter: grayscale(0%);
filter: none; /* IE 6-9 */
-webkit-filter: grayscale(0%);
}
Run Code Online (Sandbox Code Playgroud)
我在网上搜索试图找到解释,但没有运气?
我有我的猜测,但据我所知CSS不会停止检查其他规则如果看到filter: none;?
出于某种原因,我无法让我的SVG过滤器在Firefox中运行.但是,它们在Opera中运行良好.我设置为过滤器的属性刚刚消失的元素.这很奇怪.
这是我的javascript代码:
defsElement = SVGDoc.createElement("defs");
var filterElement = SVGDoc.createElement("filter");
filterElement.setAttribute( "id", "cm-mat");
filterElement.setAttribute( "filterUnits", "objectBoundingBox");
var fecolormatrixElement = SVGDoc.createElement("feColorMatrix");
fecolormatrixElement.setAttribute("type", "matrix");
fecolormatrixElement.setAttribute("in", "SourceGraphic");
fecolormatrixElement.setAttributeNS(null, "values", "1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1");
filterElement.appendChild(fecolormatrixElement);
defsElement.appendChild(filterElement);
SVGDoc.documentElement.insertBefore(defsElement, SVGDoc.documentElement.childNodes.item(1));
partRef = getElementFromID(SVGDoc.documentElement, part);
if(partRef != null)
{
partRef.style.setProperty('filter', 'url(#cm-mat)', null);
}
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?谢谢