Frontend Secret: Use a Great CSS Reset

Posted on July 02, 2011

I think many people who struggle with cross-browser compatibility problems just aren't using a good enough CSS Reset.

Here's mine:

/** comprehensive CSS reset **/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
/* remember to define focus styles! */
:focus {
    outline: 0;
body {
    line-height: 1.1em;
    color: black;
ol, ul {
    list-style: none;
/* tables still need 'cellspacing="0"' in the markup */
table {
    border-collapse: separate;
    border-spacing: 0;
caption, th, td {
    text-align: left;
    font-weight: normal;
blockquote:before, blockquote:after,
q:before, q:after {
    content: "";
blockquote, q {
    quotes: "" "";
/** reset end **/

With this bad-boy almost all of my first drafts come out looking great in Safari, Chrome, FF, and IE 7-9.

comments powered by Disqus