Indexof

Lite v2.0Super User › How to Remove CSS Padding with uBlock Origin Custom Filters › Last update: About

How to Remove CSS Padding with uBlock Origin Custom Filters

How to Remove CSS Style Padding with uBlock Origin

When you block an element using uBlock Origin (uBO), the space it occupied is usually collapsed automatically. However, some sites use padding or margin on a parent container (like the <body> or a wrapper <div>) to create a placeholder for the ad. Simply hiding the ad leaves a large, empty gap. To fix this, you must use uBO’s CSS injection syntax.

1. Identifying the Culprit

Before writing a filter, you must identify which element holds the padding.

  1. Right-click the empty space and select Inspect.
  2. In the Developer Tools, look at the Computed tab.
  3. Find the element that has a padding-top or padding-bottom value matching the size of the gap (e.g., 80px).

2. The Correct Syntax: The :style() Operator

Standard cosmetic filters (##.selector) only set display: none !important;. To modify padding, you must use the :style() operator. This allows you to "force" a new value onto an existing CSS property.

The basic formula is:
example.com##selector:style(padding: 0px !important;)

Example Cases:

  • Remove Top Padding from Body: If a site adds space at the top for a header banner.
    example.com##body:style(padding-top: 0px !important;)
  • Remove Sidebar Gap: If a right-hand sidebar leaves a 300px margin.
    example.com##.content-wrapper:style(margin-right: 0px !important; padding-right: 0px !important;)

3. Why :remove-attr() Doesn't Work

Many users try ##body:remove-attr(style). While this sounds logical, it only works if the padding is added as an inline HTML attribute (e.g., <body style="padding: 20px;">). If the padding is defined in an external .css stylesheet, remove-attr will do nothing. The :style() injection is the only way to override external CSS.

4. Advanced: Using Procedural Filters

If the padding only exists when a certain element is present, you can use a procedural filter to apply the style conditionally:

example.com##body:has(#ad-banner):style(padding-top: 0px !important;)

This tells uBO: "Only remove the padding on the body IF the element with ID #ad-banner actually exists on the page."

Summary Table: Filter Types

Goal uBlock Filter Syntax
Hide Element example.com###ad-slot
Zero Out Padding example.com##.container:style(padding: 0 !important)
Override Margin example.com##main:style(margin-left: 0 !important)
Conditional Style example.com##body:has(.ad):style(padding: 0)

Conclusion

Removing stubborn padding with uBlock Origin requires moving beyond simple element hiding. By using the :style() operator and the !important flag, you can take full control over a website's layout and reclaim the screen real estate stolen by empty placeholders. Always remember to check your browser's Inspector to find the exact class or ID causing the layout shift.


Keywords: uBlock Origin remove padding, CSS injection uBlock, :style operator uBO, custom filters uBlock Origin, remove empty space adblock, hide padding-top css, Super User uBlock tutorial, cosmetic filtering padding.

Profile: Struggling with empty gaps after blocking ads? Learn how to use uBlock Origin’s :style() operator to remove CSS padding and margins from any website. - Indexof

About

Struggling with empty gaps after blocking ads? Learn how to use uBlock Origin’s :style() operator to remove CSS padding and margins from any website. #super-user #removecsspaddingwithublock


Edited by: Reynaldo Santiago, Wilton Perillo & Arnar Tomasdottir

Close [x]
Loading special offers...

Suggestion