uWeb 中文文档 下载 App

CSS 直接隐藏——标记不良元素生成屏蔽代码

DOM 层面的补充拦截

default.hosts 和 url.deny 在网络请求层面拦截。但有些不良信息不来自第三方域名——它们是页面自身渲染出来的(弹窗、推荐位、广告位等),网络层面拦不住。这时候需要在 DOM 层面用 CSS 直接隐藏。

标记不良元素的操作流程

  1. 打开你想屏蔽的页面(比如某个论坛或资讯站)
  2. 长按底部工具栏的 JS 按钮
  3. 弹出菜单里选择"标记不良元素"
  4. 点击页面上你想屏蔽的元素(一个弹窗、一个广告横幅、一个推荐卡片……)
  5. uWeb 弹出对话框,显示:
  1. 自动生成 CSS 屏蔽代码,你可以:

生成的 CSS 形式

默认:display:none

/* 生成的 CSS 示例 */
.ad-popup, .recommend-card, [data-ad="true"] {
    display: none !important;
}

这是最直接的方式,元素完全不渲染。

推荐:transform:scale(0)!important

如果元素或其祖先元素的样式属性里已经出现过 display(意味着该网站可能用脚本反复重置 display 属性),官方建议改用:

.ad-popup {
    transform: scale(0) !important;
}

transform:scale(0) 把元素缩放到 0,视觉上完全消失,但不影响 display 属性,网站脚本无论怎么改 display 都不会把它"救回来"。

CSS 屏蔽的常见目标

目标类型选择器策略
弹窗遮罩.modal, .popup, [class*="modal"]
推荐位.recommend, .suggest, .related
广告位.ad, .advertisement, [data-ad]
侧边栏aside, .sidebar, .side-bar
底部横幅footer-ad, .bottom-banner
评论广告[class*="comment-ad"], .ad-comment
悬浮元素.float, .float-ad, position:fixed 相关

与 sitecss 的配合

把生成的 CSS 放入 sitecss/ 下对应该域名的 .css 文件:

sitecss/
├── example.com.css      # example.com 域名下的屏蔽规则
└── forum.example.com.css # forum.example.com 更精细的规则(最长文件名优先)

启用条件:

  1. 文件已放入 sitecss/
  2. 长按窗口管理 → 勾选"使用网址用户样式"
  3. 强制清空后台重启 uWeb

配合 default.css 做全局兜底

如果你想让某些屏蔽规则对所有网站都生效,可以:

  1. 把规则写在 sitecss/default.css 里
  2. 这个文件会在"没有域名特定 CSS 匹配"时自动应用

但要小心——过于激进的全局规则可能误伤正常元素。建议对每个重要网站写特定规则。

禁用伪元素

某些网站用 ::before / ::after 伪元素显示不良内容(如角标、悬浮小广告)。这些无法被 display:none 隐藏,需要:

[class*="ad"]::before,
[class*="ad"]::after {
    display: none !important;
    content: none !important;
}

或者直接用浏览模式:长按窗口管理 → "禁用伪元素"。

禁用 iframe

很多第三方广告和追踪用 iframe 嵌入:

iframe {
    display: none !important;
}

或者用浏览模式:长按窗口管理 → "禁用 iframe"。

下一章