Style shadowDOM

Allow stylus to target elements in shadow-root

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Author
Achernar
Daily installs
0
Total installs
161
Ratings
3 1 0
Version
0.2.2
Created
2023-02-10
Updated
2024-05-04
Size
5.34 KB
License
N/A
Applies to

This userscript allows Stylus' users to style shadow-DOM elements that are by definition out of reach of global stylesheets.

Currently recognized userstyles managers are: "Stylus", "User JavaScript and CSS", "xStyle", "Stylish".

Any style rule whose selectors includes :host or :host-context will be injected into the shadow-root node.

By default the userscript is not running on any website. You'll have to edit the script settings (eg. in tampermonkey): open the userscript, go to the script's "settings" tab and add the mask of the website(s) you want to run it on (don't forget the trailing *).

To test:

  • (in this script's settings) add https://web.archive.org/web/* to "user matches"
  • go to https://web.archive.org/web/2/ appended with the full url of a webpage.
    eg. https://web.archive.org/web/2/https://procyon-b.github.io/programming/
  • open stylus, or one of the supported userstyles manager.
    Edit a new stylesheet, matching https://web.archive.org/web/* and create this style:
    :host * { outline: 1px solid red !important; }
    * { outline: 1px solid green !important; }
    Without the userscript, only the normal elements are outlined (in green). With the userscript the elements in the header are outlined in red.
  • this will outline all the element in the wayback machine's header with a red line. This is not possible without the userscript (try ; disable this userscript and reload the page).