Les vieux hacks CSS

Parent Previous Next

Les hacks CSS



« Hack » signifie « bidouille » en anglais. Il s'agit d'astuces qui permettent de faire en sorte que les propriétés CSS soient lues par certaines versions d'Internet Explorer uniquement. Le principe est le même que les commentaires conditionnels, mais c'est moins « propre » : les hacks se basent sur des erreurs de ces navigateurs, qui lisent des propriétés CSS alors qu'ils ne devraient pas.

L'usage des hacks est globalement déconseillé car on se base sur des bugs des navigateurs. Rien ne garantit qu'ils fonctionneront à l'avenir.

Voici l'un des hacks les plus célèbres :

balise

{

    margin: 15px; /* Pour les autres navigateurs */

    ma\rgin: 20px; /* Pour IE6 et IE7 */

}


Un bug dans IE6 et IE7 leur fait lire la seconde propriété. Normalement, la présence de l'antislash (\) au milieu du nom de la propriété rend celle-ci invalide, mais ces navigateurs ignorent l'antislash et lisent la propriété comme si de rien n'était.

D'autres hacks existent, citons par exemple :

balise

{

    margin: 15px; /* Pour les autres navigateurs */

    *margin: 20px; /* Pour IE6 et IE7 */

    _margin: 20px; /* Pour IE6 */

}


La présence d'une étoile au début du nom de la propriété fait que tous les navigateurs, sauf IE6 et IE7, ignorent la ligne. De même, la présence d'un underscore (_) fait que la ligne est ignorée par tous les navigateurs, sauf IE6.


Créé avec HelpNDoc Personal Edition: Écrire des livres électronique Kindle