Please Use A Big Boy Reset

* {
    margin: 0;
    padding: 0;

Not every element has margin and padding that needs to be reset.

Better to use: body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, checkbox, textarea, p, blockquote, th, td { margin:0;padding:0;}

Submission by climber00

Unordered Children

ul > li

Sure maybe ul.class > li made sense, but take away the class, and this bit of CSS is pure donkey status.

Every ul has a direct descendant li, so ul > li is basically the same as ul li.

Submission by Jon Raasch

Static Positioning

div {
    position : static !important;
    z-index : 10;
    top : 50px;
    left : 200px;

Unless you’re changing the position attribute dynamically, static position essentially means “not positioned”, so the z-index, top and left are completely meaningless.

Submission by Jon Raasch

Double IDs


This bit of disgusting CSS is what inspired me to start WTF CSS (after promptly puking in my mouth).

Taken from a tweet by Nicholas Zakas.