Technique du Reset - Le laboratoire

Qu'est que la technique du reset css

Définition

Comme vous le savez surement les navigateurs n'affichent pas de la même manière les éléments HTML ou XHTML, c'est pour cela que la technique du reset CSS est apparue. Elle consiste à réinitialiser à "zéro" la valeur de certains éléments HTML ou XHTML pour palier aux différences d'affichages sur les divers navigateurs.
A mes débuts, j'utilisais le reset css avec le sélecteur (*)

Exemple de code :
* { margin: 0; padding: 0; }

Le problème, c'est que je me suis vite aperçu que certains éléments réagissaient mal et que certains éléments n'avaient pas besoin d'être remis à zéro.
J'ai donc parcouru le net à la recherche de codes Css de reset plus précis, voici les plus connus :
Le code Eric Meyer Lien [en]

Exemple de code :
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td{   margin:0;   padding:0; } table {   border-collapse:collapse;   border-spacing:0; } fieldset,img {   border:0; } address,caption,cite,code,dfn,em,strong,th,var {   font-style:normal;   font-weight:normal; } ol,ul {   list-style:none; } caption,th {   text-align:left; } h1,h2,h3,h4,h5,h6 {   font-size:100%;   font-weight:normal; } q:before,q:after {   content:''; } abbr,acronym {   border:0; }

Le code du W3C Lien [en]

Exemple de code :
html, address, blockquote, body, dd, div, dl, dt, fieldset, form, frame, frameset, h1, h2, h3, h4, h5, h6, noframes, ol, p, ul, center, dir, hr, menu, pre { display: block } li { display: list-item } head { display: none } table { display: table } tr { display: table-row } thead { display: table-header-group } tbody { display: table-row-group } tfoot { display: table-footer-group } col { display: table-column } colgroup { display: table-column-group } td, th { display: table-cell } caption { display: table-caption } th { font-weight: bolder; text-align: center } caption { text-align: center } body { margin: 8px } h1 { font-size: 2em; margin: .67em 0 } h2 { font-size: 1.5em; margin: .75em 0 } h3 { font-size: 1.17em; margin: .83em 0 } h4, p, blockquote, ul, fieldset, form, ol, dl, dir, menu { margin: 1.12em 0 } h5 { font-size: .83em; margin: 1.5em 0 } h6 { font-size: .75em; margin: 1.67em 0 } h1, h2, h3, h4, h5, h6, b, strong { font-weight: bolder } blockquote { margin-left: 40px; margin-right: 40px } i, cite, em, var, address { font-style: italic } pre, tt, code, kbd, samp { font-family: monospace } pre { white-space: pre } button, textarea, input, select { display: inline-block } big { font-size: 1.17em } small, sub, sup { font-size: .83em } sub { vertical-align: sub } sup { vertical-align: super } table { border-spacing: 2px; } thead, tbody, tfoot { vertical-align: middle } td, th, tr { vertical-align: inherit } s, strike, del { text-decoration: line-through } hr { border: 1px inset } ol, ul, dir, menu, dd { margin-left: 40px } ol { list-style-type: decimal } ol ul, ul ol, ul ul, ol ol { margin-top: 0; margin-bottom: 0 } u, ins { text-decoration: underline } br:before { content: "A"; white-space: pre-line } center { text-align: center } :link, :visited { text-decoration: underline } :focus { outline: thin dotted invert } /* Begin bidirectionality settings (do not change) */ BDO[DIR="ltr"] { direction: ltr; unicode-bidi: bidi-override } BDO[DIR="rtl"] { direction: rtl; unicode-bidi: bidi-override } *[DIR="ltr"] { direction: ltr; unicode-bidi: embed } *[DIR="rtl"] { direction: rtl; unicode-bidi: embed } @media print { h1 { page-break-before: always } h1, h2, h3, h4, h5, h6 { page-break-after: avoid } ul, ol, dl { page-break-before: avoid } }

Le Reset CSS du projet Yahoo! Lien [en]
Aujourd'hui, je n'utilise plus ces reset css, car je me suis aperçu qu'ils mettaient à jour beaucoup de balises que je n'utilisais pas dans mon code HTML ou XHTML. Dans un souci d'optimisation, je ne "reset" que les éléments HTML OU XHTML que j'utilise dans la page ou le site.

Conclusion

Aujourd'hui, je n'utilise plus ces reset css, car je me suis aperçu qu'ils mettaient à jour beaucoup de balises que je n'utilisais pas dans mon code HTML ou XHTML. Dans un soucis d'optimisation, je ne "reset" que les éléments HTML OU XHTML que j'utilise dans la page ou le site.