Le laboratoire : Technique du Reset

Page d'introduction

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 universel (*)
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'avais pas besoin d'être remis à zéro.
J'ai donc parcourru 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 apperç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.

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.



Le sélecteur UNIVERSEL de feuille de style css * (astérisque ou étoile) permet de sélectionner n'importe quel élément, quelque soit son type.*{ color...[Voir]