我正在使用Ublock Origin
浏览器扩展,它通过将css规则注入user agent stylesheet
来隐藏广告:
a[href^="https://ad.doubleclick.net/"] {
display: none !important;
}
字符串
它会隐藏链接,即使有样式属性:
there should be a link:
<a href="https://ad.doubleclick.net/" style="display: block !important">example1</a>
型
即使devtools显示style属性应该覆盖该规则:
计算的样式似乎不一致(链接仍隐藏):
“user stylesheet”中类似的css规则可以被style属性覆盖,没有问题:
a[href^="https://example.net/"] {
display: none !important;
}
there should be a link:
<a href="https://example.net/" style="display: block !important">example2</a>
的字符串
这是一个浏览器错误吗?是否有解决方法??
Edge 119.0.2151.44
Windows 10 x64
型
1条答案
按热度按时间fumotvh31#
观察到的行为似乎遵循https://developer.mozilla.org/en-US/docs/Web/CSS/Cascade#cascading_order概述的层次结构。
重要性为
!important
的“author(developer)”位于(升序)优先级顺序的第5位,而重要性为!important
的“user-agent(browser)”位于第7位,因此优先于author的样式。因此,浏览器的解释在这里似乎是正确的;而错误将出现在开发工具端,它没有正确地“可视化”这一点。