Bonsoir. L'intérêt principal du truc : tout le monde sait qu'Internet Explorer se comporte souvent de manière très différente dans son rendu par rapport aux autres navigateurs, soit en raison de son important retard technique (les versions d'IE, à peine sorties, sont rapidement dépassées par les autres navigateurs), soit en raison d'une volonté de vouloir imposer des standards qui lui sont propre, ce qu'il pouvait se permettre en raison de sa relative situation de monopole à un moment donné.
Tout ceci n'est plus vrais aujourd'hui avec IE10 (enfin... sauf pour le retard technique), et Microsoft a fait beaucoup d'efforts de standardisation dans le but de s'affilier le plus grand nombre de développeurs possible, une communauté importante étant gage de pérennité.
Reste que pour les anciennes versions de IE (9 et inférieures), l'écart avec les autres browsers peut justifier de trouver des moyens d'harmoniser le style avec les autres navigateurs. En général il s'agit surtout d'IE8, IE6 et IE7 étant, eux, largement obsolètes désormais (mais dans certaines administrations IE6 est encore présent pour des raisons de compatibilité avec de très vieux logiciels intranet).
Donc, afin de cibler ce navigateur récalcitrant, on peut utiliser les commentaires conditionnels pour créer des classes propres à IE. Exemple :
<!DOCTYPE html>
<!--[if IEMobile 7 ]> <html dir="ltr" lang="en-US"class="no-js iem7"> <![endif]-->
<!--[if lt IE 7 ]> <html dir="ltr" lang="en-US" class="no-js ie6 oldie"> <![endif]-->
<!--[if IE 7 ]> <html dir="ltr" lang="en-US" class="no-js ie7 oldie"> <![endif]-->
<!--[if IE 8 ]> <html dir="ltr" lang="en-US" class="no-js ie8 oldie"> <![endif]-->
<!--[if (gte IE 9)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html dir="ltr" lang="en-US" class="no-js"><!--<![endif]-->
On voit ici que des classes sont ajoutées sur la balise <html> en lien avec des commentaires conditionnels pour IE. On pourra ainsi cibler spécifiquement une ou plusieurs version ancienne d'IE pour proposer un fallback :
.uneClasse {
/* une règle */
}
.ie6 .uneClasse {
/* une règle spécifique pour IE6 */
}