Qu'est-ce qu'un hack ? A quoi servent-ils ?
Astuce par Raphael (Eleveur de kiwiz, Strasbourg)
Tous les navigateurs, selon leur ancienneté ou leur degré de conformité aux Standards, n'ont pas un support équivalent vis à vis des propriétés CSS : certains reconnaissent les dernières nouveautés en CSS2, d'autres non. Certains présentent des bugs d'interprétation, etc.
Un "hack" est une technique pour éviter ces problèmes et permettre à ces navigateurs défectueux d'aboutir à nos fins, soit en détournant une propriété de son usage, soit en utilisant des codes supplémentaires pour pallier aux manques.
Ce genre de "bidouille", est-il nécessaire de le dire, est bien évidemment déconseillé. Il est préférable dans tous les cas, quitte à remanier sa mise en page, d'éviter toutes techniques de contournement.
Le principal avantage d'avoir des Standards est justement d'éviter d'avoir "une version IE5.5", "une version Opera", etc. Le but est de ne plus avoir à développer pour chaque navigateur particulier.
Un autre gros problème des hacks, est qu'ils reposent sur une déficience d'une version de navigateur qui peut être corrigée du jour au lendemain. D'ailleurs depuis octobre 2003, Microsoft appelle à l'arrêt des hacks au profit des commentaires conditionnels.
Plutôt que d'employer des hacks, il est effectivement préférable de recourir aux commentaires conditionnels (voir l'astuce à ce sujet).
De nombreux liens expliquent les méthodes pour contourner les limites des navigateurs :
- fastclemmy.com : bugs et limitations d'Internet Explorer
- centricle.com : l'ensemble des hacks CSS et leur reconnaissance par les navigateurs
- westciv.com : l'ensemble des supports navigateurs pour CSS2
- w3development.de : Techniques pour cacher les feuilles de styles







