DEV Community

Gajus Kuizinas
Gajus Kuizinas

Posted on • Edited on

My favorite CSS hack

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,0,.2); }
* * * { background-color: rgba(0,0,255,.2); }
* * * * { background-color: rgba(255,0,255,.2); }
* * * * * { background-color: rgba(0,255,255,.2); }
* * * * * * { background-color: rgba(255,255,0,.2); }
* * * * * * * { background-color: rgba(255,0,0,.2); }
* * * * * * * * { background-color: rgba(0,255,0,.2); }
* * * * * * * * * { background-color: rgba(0,0,255,.2); }

Enter fullscreen mode Exit fullscreen mode

^ This is one of my favourite inventions.

Update 2020 October. I have since adopted a bit more elaborate snippet:

* { outline: 1px solid rgba(255,0,0,.2); :hover { outline: 1px solid rgba(255,0,0,0.6); } }
* * { outline: 1px solid rgba(0,255,0,.2); :hover { outline: 1px solid rgba(0,255,0,0.6); } }
* * * { outline: 1px solid rgba(0,0,255,.2); :hover { outline: 1px solid rgba(0,0,255,0.6); } }
* * * * { outline: 1px solid rgba(255,0,255,.2); :hover { outline: 1px solid rgba(255,0,0,0.6); } }
* * * * * { outline: 1px solid rgba(0,255,255,.2); :hover { outline: 1px solid rgba(0,255,0,0.6); } }
* * * * * * { outline: 1px solid rgba(255,255,0,.2); :hover { outline: 1px solid rgba(0,0,255,0.6); } }
* * * * * * * { outline: 1px solid rgba(255,0,0,.2); :hover { outline: 1px solid rgba(255,0,0,0.6); } }
* * * * * * * * { outline: 1px solid rgba(0,255,0,.2); :hover { outline: 1px solid rgba(0,255,0,0.6); } }
* * * * * * * * * { outline: 1px solid rgba(0,0,255,.2); :hover { outline: 1px solid rgba(0,0,255,0.6); } }

Enter fullscreen mode Exit fullscreen mode

I first shared it on Quora in 2014 (What are the most interesting HTML/JS/DOM/CSS hacks that most web developers don't know about?) and I still get notifications of someone upvoting this answer daily.

But what does this horrible thing do?

It is meant to be used when you are working with layout, e.g.

Without CSS hack

The problem is that unless the element on the page has a solid background or it is a picture, you do not see how does it fit into the layout, e.g. most of the text nodes, pictures with transparency, etc.

With the above CSS applied you will see something along the lines of:

With CSS hack

Different depth of nodes will use different colour allowing you to see the size of each element on the page, their margin and their padding. Now you can easily identify inconsistencies.

Oldest comments (92)

Collapse
 
ben profile image
Ben Halpern

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.

Collapse
 
vcastroi profile image
Victor Castro

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

dev.to/vcastroi/comment/f0a4

Collapse
 
luzifer profile image
Knut Ahlers

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!

Collapse
 
tyrrrz profile image
Oleksii Holub

Clever

Collapse
 
chrisachard profile image
Chris Achard

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

background-color: blue;
Enter fullscreen mode Exit fullscreen mode

to whatever I'm currently debugging 🤣

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

Collapse
 
pinguinosod profile image
David Cautin

Interesting, I usually pick red

Collapse
 
salvan13 profile image
Antonio Salvati 🦊

+1 red team here :D

Collapse
 
dirtycode1337 profile image
Dirty-Co.de

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

Thread Thread
 
chrisachard profile image
Chris Achard

I love that strategy 🤣

Collapse
 
reggev_amsalem profile image
Reggev Amsalem

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

Collapse
 
cecilelebleu profile image
Cécile Lebleu

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

Collapse
 
chrisachard profile image
Chris Achard

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

Thread Thread
 
cecilelebleu profile image
Cécile Lebleu • Edited

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.

Thread Thread
 
gajus profile image
Gajus Kuizinas

You might find this interesting jezebel.com/the-history-of-pink-fo... (on the subject of colour and gender identify).

Thread Thread
 
cecilelebleu profile image
Cécile Lebleu

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

Thread Thread
 
andreasvirkus profile image
AJ

Team cornflowerblue here!

Thread Thread
 
cecilelebleu profile image
Cécile Lebleu

Hahaha, good one!

Collapse
 
tailcall profile image
Maria Zaitseva

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

Collapse
 
ianfabs profile image
Ian Fabs

The VisBug chrome extension is also amazing for CSS stuff

Collapse
 
kidkkr profile image
kidkkr

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

Collapse
 
vcastroi profile image
Victor Castro • Edited

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:

washingtonpost

code here

Collapse
 
firozansari profile image
Firoz Ansari

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

Collapse
 
patke92 profile image
Patrick Keßler

That's great!

Collapse
 
jacrys profile image
Keith Lewis

Thanks Victor!

Collapse
 
jasminelaihua profile image
JasmineLaiHua

Thanks for sharing!

Collapse
 
olee profile image
Björn Zeutzheim

Here a slightly improved variant which loads faster and does not break elements with Javascript events on the page:
gist.github.com/olee/50f0ddac55418...

Collapse
 
growthboot profile image
Growthboot

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:
gist.github.com/growthboot/5c189cf...

Thread Thread
 
raddevus profile image
raddevus • Edited

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

Collapse
 
joelvarty profile image
Joel Varty

This is epic. Well done! Super useful!

Collapse
 
koresar profile image
Vasyl Boroviak

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

Collapse
 
antontsvil profile image
Anton T

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

Some comments may only be visible to logged-in visitors. Sign in to view all comments.