Сброс и браузерная несовместимость

Не все браузеры одинаковы. В действительности, каждый браузер отличается от остальных. Какие значения стоят по умолчанию для полей, отступов, размеров шрифта для элемента  <p>? Вы будете удивлены размером списка значений. Для обработки разницы между браузерами многие начинают со сброса стилей CSS .

На ранних стадиях использования техники сброса, дизайнеры устанавливали значения только для полей и отступов, используя правило глобального сброса:

* { margin: 0; padding: 0; }
Но чем больше людей использовали сброс и обсуждали его, тем очевиднее становился факт, что установка значений только для полей и отступов не достаточна (и применение выше приведенного правила для каждого элемента плохо сказывается на механизме вывода страницы). Благодаря работе Eric Meyer и других пионеров CSS была создана более полная колекция правил сброса:

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;

    vertical-align: baseline;

    }

/* помните об определении стиля focus! */

:focus {

    outline: 0;

    }

body {

    line-height: 1;

    color: black;

    background: white;

    }

ol, ul {

    list-style: none;

    }

/* для таблиц надо устанавливать в разметке 'cellspacing="0"' */

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: "" "";

    }
Важно отметить, какие элементы включены в популярный список сброса CSS. Также важно знать, что некоторые элементы были намеренно исключены из данного списка:

input
button
hr
Данные элементы были исключены из-за значительной разницы в их кросс-браузерном представлении. Легче вообще не задавать для них никакого стиля.