← 全部文章

教程

用 CSS 屏蔽展示广告和赞助框

专用的广告拦截器很不错,但有时你只想去掉几个特定的广告位——视频下方的粘性横幅、塞满赞助链接的"推荐"框、文章上方的巨型通栏。JustZix 让你用纯 CSS 隐藏它们。

CSS 隐藏与网络拦截的区别

传统广告拦截器在网络层阻止广告请求。CSS 隐藏不同:广告可能仍会加载,但你永远看不见它。这听起来更差,但它有真正的优势。CSS 规则永远不会像被拦截的请求那样破坏网站布局,它们写起来非常简单,而且能作用于网络拦截器漏掉的广告位——比如发布商自己的、与文章同域提供的"赞助"框。

配方 1:隐藏标准广告容器

展示广告行业在少数广告位尺寸和类名上趋于标准化。这条规则横扫常见的那些。

/* 标准展示广告位 */
[id^="ad-"], [id*="-ad-"], [id$="-ad"],
[class*="ad-slot"], [class*="ad-banner"],
[class*="advert"], [class*="ad-container"],
ins.adsbygoogle, iframe[src*="doubleclick"],
iframe[src*="googlesyndication"] {
  display: none !important;
}

属性选择器 [id^="ad-"][id*="-ad-"][id$="-ad"] 分别匹配 id 的开头、中间和结尾,能分别捕获 ad-topmain-ad-railsidebar-ad

配方 2:折叠空白空间

display: none 隐藏广告通常也会移除它占用的空间,但预留的广告位有时会在父元素上设置固定高度。如果你看到一道空白间隙,就把它折叠掉。

/* 折叠预留的广告空间 */
.ad-wrapper, .ad-placeholder, [data-ad-slot] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
}

配方 3:剥离"赞助"和"推广"框

发布商提供的赞助内容是网络拦截器最难捕获的一种,因为它来自与真正文章相同的服务器。CSS 可以通过这些块所带的标签来定位它。

/* 赞助 / 推广内容块 */
[class*="sponsored"], [class*="promoted"],
[class*="partner-content"], [class*="taboola"],
[class*="outbrain"], [id*="taboola"],
section[aria-label*="sponsored" i] {
  display: none !important;
}

Taboola 和 Outbrain——两大"网络周边"小部件网络——命名很可靠,所以这些选择器能清掉新闻网站上文章底部的大部分杂物。

配方 4:针对动态注入广告的 JS 清扫

有些广告脚本在首次绘制后注入广告位。一小段 JavaScript 规则会在它们出现时持续清除。

// 持续移除注入的广告节点
const AD_HINTS = ['sponsored', 'advert', 'ad-slot', 'taboola', 'outbrain'];

function clearAds() {
  document.querySelectorAll('div, aside, section, iframe').forEach(el => {
    const tag = (el.id + ' ' + el.className).toLowerCase();
    if (AD_HINTS.some(h => tag.includes(h))) {
      el.remove();
    }
  });
}

clearAds();
new MutationObserver(clearAds)
  .observe(document.body, { childList: true, subtree: true });

避免破坏网站

CSS 广告隐藏是安全的,但上面有两个选择器比较宽泛。如果某个网站丢失了真正的内容,就收窄规则:

性能附加好处

即便广告仍会下载,用 CSS 隐藏它也能去掉布局工作量,并阻止抓眼球的动画重绘。在沉重的新闻网站上,页面会感觉更平静,滚动也更顺滑。

让配方跑起来

下载 JustZix 页面安装,并将这些规则与我们的现成示例搭配使用。广告常常紧挨着遮住内容的粘性页头——用我们位于/zh/blog/remove-sticky-headers-that-cover-content 的指南修好它们。今天几个选择器,明天一个更安静的网络。

为这篇文章评分

暂无评分 — 成为第一个。

自己动手试试

安装 JustZix,粘贴本文中的任意代码片段。两分钟,从零到一条在你所有设备上生效的规则。

获取 JustZix

功能 · 工作原理 · 示例 · 应用场景