My favorite CSS hack

Gajus Kuizinas on September 03, 2019

There is one CSS snippet that I have been copy-pasting for 5 years: * { background-color: rgba(255,0,0,.2); } * * { background-color: rgba(0,255,... [Read Full]
markdown guide

thanks, made a toggleable bookmark (no need for an extension) with this + another CSS I was using (that removes background + adds a red outline). looks like this:


code here


Here a slightly improved variant which loads faster and does not break elements with Javascript events on the page:


Just noticed your post after I already fixed it for myself as well. But in mine I took off the added code to remove background images. Removing background images is not desirable in a lot of cases, especially web apps.
Here's my code:

Very cool, you can run it on any page from the browser dev console.
Thanks for posting the code.


I love it!!!. Your bookmarklet is very handy. Thank you.


Much quicker to do the following imo:

html * {
    background: rgba(255, 0, 0, .1);
    box-shadow: 0 0 0 1px red;

It will produce something like this:



border:1px solid red is the console.log for me in css 🤣


outline: 1px solid #f00 is my go-to for this since the outline doesn't affect size, and #f00 is just kinda fun to type instead of red :)


Borders will potentially change the layout of some elements. Use outline instead!


border-box is slightly better since that does not affect the box-sizes. And using a weird color like light-green works usually best for me.


Ah, very interesting... I usually resort to adding:

background-color: blue;

to whatever I'm currently debugging 🤣

This seems like a more sane alternative... :)


My color of choice is background-color: aliceblue, it’s softer on the eyes 😁


Never even knew that was a color, heh... it is quite nice 😁

And to compare I use lavenderblush. I know it’s really pastel, but most of my web dev is on bright background, so using red or blue is like poking myself in the eye with a pen.

You might find this interesting (on the subject of colour and gender identify).

Whoops. I mindlessly used a gender assumption, I apologize. I've edited the original comment. Thanks for pointing it out :)


I usually pick rebeccapurpe - because I only type "re" instead of "red" and Chrome autocompletes it to "rebeccapurple". It also wants you to get your stuff fixed asap because of its color to get rid of it :D


I like to use yellow because it looks ugly. Makes me feel like a rebel.


I though I was the only one debugging with blue :-)



I have a contrib...

Because we always have html and body as parents wrapping everything (associated with layout), first two rules just add 2 extra layers of background, selecting everything under body would allow going nine levels inside body 😄

body * { background-color: rgba(255,0,0,.2); }
body * * { background-color: rgba(0,255,0,.2); }
body * * * { background-color: rgba(0,0,255,.2); }
body * * * * { background-color: rgba(255,0,255,.2); }
body * * * * * { background-color: rgba(0,255,255,.2); }
body * * * * * * { background-color: rgba(255,255,0,.2); }
body * * * * * * * { background-color: rgba(255,0,0,.2); }
body * * * * * * * * { background-color: rgba(0,255,0,.2); }
body * * * * * * * * * { background-color: rgba(0,0,255,.2); }

Ha, nice! I created a Chrome plugin, simple-debug.css, a few years back that does something similar with the following CSS:

*{outline:1px solid #fff!important;background-color:rgba(0,2,54,.1)!important}

Nice :) Another similar hack I frequently use is using a repeating svg grid as html background against body with reduced transparency. Helps a lot with alignment issues.


There's also a plug in called Pesticide (Chrome) & Open Pesticide (Firefox) that does this by showing you the size of all divs in your page. Really handy for identifying which div is causing the bug.
See example here


My mind has been officially blown! How have I not found this sooner??

I've added more nested levels to accommodate some deeper levels of the dom, but that's a simple copy and paste job from the code above.

I'll be adding the bookmark for sure!


The VisBug chrome extension is also amazing for CSS stuff


good tip, but never can replace the classic: *{outline: 1px solid red} :)


outline: 1px solid red; is my css equivalent to console.log() 😂


I use pesticide for chrome. I get too anxious adding stuff like this to my codebase 😂


Firefox added a clickable element to the dom for flex box and grid.


I believe a similar is built into the Firefox dev tools. (Also I find their dev tools better than Chrome).


It was called 3d tilt or something like that. Very cool feature that was unfortunately discontinued.


Instead of copy-pasting the sniplet you could add it as a user-style for example to Stylus browser extension and just toggle it. (Just did that myself…)

Thanks for the idea!


CSS is really great for inspection. Have you checked out older debugging or quality control style sheets like (mentioning because it’s quite comprehensive but can also use backup) or classic


Nice! I've seen similar variations of this sort of thing, but this is the cleanest.

I feel like it could be useful to toggle this via a browser extension.


This works as a regular bookmark, and can toggle it, without using an extension.


Interesting. I am working on the developer tools for Edge and this might just be an interesting option to add.


I will take the credit any time of the day. :-)


I've created simple chrome extension for this to toggle on websites


Reminds me of Addy's CSS Layout debugger

$$('*').map((A,B)=>`1px solid hsl(${B*B},99%,50%`)


I do this often and I just add a new style rule directly in devtools as simple as
*{box-shadow: 0 0 0 1px red}


Ah, yeah! I can see how this can come in handy. However, I use the Brackets editor, which outlines elements when you select them. Pretty neat stuff!


You can the same thing quite easily with chromes developer tool right?


ohhhhhhhhhhhhoo, You just popped up my mind, Thanks, man!


I was skeptic first, but then realized how much it makes sense. Great have!


Oh thank goodness your not going to use this in prod! I have seen some developer tools do something similar. I think browsersync admin does have utils like this too.


Definitely going to use this on future projects, thanks for sharing!!!!


Anybody have something similar for React Native?


Chris Pederick's Web Developer extension's Outline tab has had this and other features for many years... :)


Interesting, thank you for sharing this! Whenever I think I know what CSS is all about I learn about a new hack I would never even think of, CSS is definitely more interesting than it seems.


Seeing all those universal selectors made my eye start to twitch, and then I read what you are using it for. This is pretty interesting. Sharing with my team


Wow, I'm gonna give this a try, and will probably use it from now on -

Thanks for sharing


Nice hack. It can be extension or something for debugging.


I would recommend using Tamper Monkey browser extension. I use it to change the color of the background for my company's production site. That way, I never mistakenly place an order on production when trying to test something.

It lets you create JS snippets that run at certain domains (you can also have it run on all of them). It comes with a decent little UI for turning on and off certain scripts as well.

Thanks for the tip, this seems pretty useful!

code of conduct - report abuse