Adblock. 在元素上添加CSS类或删除属性

22

能否通过广告拦截器在某个页面上向元素添加CSS规则?就像这样:

#myElement {
    color: white !important;
}

我尝试查找一个在页面加载时更新此元素样式的脚本,但似乎这不是最佳方式。

4个回答

39

据我所知,uBlock Origin和Adguard都可以实现这一功能。它们各自有适用于样式规则的语法,但是uBlock可以理解两种语法。


以下是一个更改Twitter背景的CSS规则示例:

twitter.com#$#body.logged-in{ background-color: #8c8787 !important; }

样式过滤器应该像这样构建:

<domain> + #$# + <selector> + { <style> }
避免在选择器和左大括号之间放置空格,因为这可能会给您带来一些麻烦。参考:https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#style https://adguard.com/en/filterrules.html#cosmetic-css-rules

17

其他答案对我无效,但有一种方法可以更改元素的样式:

example.com##h1:style(background-color: blue !important)

请确保不使用花括号。

GitHub上也有一些相关文档。

编辑:正如BeeLabeille所提到的,这个建议似乎只适用于uBlock。


2
值得一提的是,与其他答案类似,您的解决方案也适用于问题中指定的ublock而不是adblock。 - BeeLabeille
可以确认,这是唯一有效的 Adblock 解决方案(2022年9月)。 - def_init_

-1

我认为 AdBlock 不可能更改 CSS 属性,但你可以使用类似 Stylish 的扩展(适用于 Firefox 和 Chrome)来实现这一点。


-2

对于 AdBlock Plus,您可以尝试以下方法:

##.ytp-pause-overlay, .ytp-scroll-min
##.html5-endscreen, .ytp-player-content, .videowall-endscreen, .ytp-endscreen-paginate, .ytp-show-tiles
##.ytp-endscreen-content

这应该禁用暂停期间的广告显示和视频结束时的推荐视频。

附注:啊..这不是问题的主题..这将从div元素中删除类。也许对于删除Youtube播放器中的不必要的块会有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接