Qu'est-ce qu'un Hack Css?
Définition d'un Hack Css
Les navigateurs ne sont pas tous égaux dans l'interprétation des feuilles de style. Parce qu'ils sont anciens ou modernes, ou qu'ils sont plus ou moins conformes aux standards.
Les hacks CSS sont un moyen de détourner les bugs de certains navigateurs pour avoir un affichage correct.
Certains hacks CSS rendent vos fichiers CSS non valides (lors de l'utilisation de filtres Explorer par exemple).
Certains hacks CSS ne sont plus valables au fils du temps car ils utilisaient des fonctionnalités non implémentées comme par exemples les Hacks css se basant sur les sélecteurs Css.
Les hacks CSS présentés ci-dessous peuvent ne plus fonctionner sur des nouveaux navigateurs, n'hésitez pas à me prévenir dans ce cas.
Recherche des testeurs :
- safari / mac
- chrome / mac
- ie 8 / tous systèmes windows
- ie 7 / tous systèmes windows
Commentaires conditionnels
Définition
Les commentaires conditionnels sont propres à Internet Explorer. On les utilise souvent pour contourner les bugs d'implémentation CSS des versions d'Internet Explorer supérieur 5. Spécialement, je n'aime pas cette technique mais elle m'a été très utile une fois.
Les commentaires conditionnels vont vous permettre de mettre du code qui ne sera interprété que pas certains navigateurs ou par certaines versions d'Internet Explorer.
Exemple :
Exemple :
Pour détecter une version d'Internet Explorer :
Operateur | Description |
---|---|
! | N'est pas égale |
lt | Inférieur |
lte | Inférieur ou égale |
gt | Supérieur |
gte | Supérieur ou égale |
Les principales versions d'Internet Explorer sont 5, 5.5, 6, 7, 8,et 9. Pour les versions supérieures les commentaires conditionnels ne sont plus reconnus.
Exemples
C'est pas Internet Explorer :
Exemple :
C'est Internet Explorer :
Exemple :
C'est une version supérieure à Internet Explorer 5+ :
Exemple :
C'est une version inférieure à Internet Explorer 7 :
Exemple :
C'est une version supérieure ou égale Internet Explorer 7 :
Exemple :
Hack css pour ie 6
Définition
Pour créer un css hack qui fonctionne que sous Internet Explorer <=6 vous pouvez utiliser le Hack css suivant :
Code css :
Résultat :
Copie d'écran :
Pour créer un hack qui fonctionne pas sous Internet Explorer <=6 vous pouvez utiliser le Hack css suivant :
Code css :
Résultat :
Copie d'écran :
Hack css pour ie 7
Définition
Pour créer un css hack qui fonctionne que sous Internet Explorer 7 vous devez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Il semble que ie5 accepte aussi ce hack css.
l'underscore plus reconnu
Pour information l'underscore (_) n'est plus reconnu par Internet Explorer 7
Hack css pour Ie7
Pour créer un css hack qui fonctionne que sous Internet Explorer 7 vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Hack css pour ie 6 et 7
Hack css de l'étoile
Pour créer un css hack qui fonctionne que sous Internet Explorer 6 et 7 vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Hack css !
Pour créer un css hack qui fonctionne que sous Internet Explorer 6 et 7 vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Hack css pour ie 8 et 9
Définition
Pour créer un css hack qui fonctionne sur internet explorer 8 et 9, vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Date du Hack CSS : 17/04/2010
Hack css pour ie 9
Définition
Pour créer un css hack qui fonctionne que sous Internet Explorer 9 vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Hack css pour Opéra
Définition
Pour créer un css hack qui fonctionne que sous Opéra vous devez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Attention n'est plus valable sur Opéra >8 et est reconnut par Safari 3.
Hack css pour Opera 9.5+
Pour créer un css hack qui fonctionne sur Opera 9.5+, vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Hack css pour FireFox
Défintion
Pour créer un css hack qui fonctionne que sous le moteur Gecko soit Firefox, Netscape mais pas Internet Explorer, Safari, WebKit, Opera, Konqueror vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Attention n'est plus valable sur Opéra >9.5 et est reconnut par Safari 3.2 et Internet Explorer 9.
Hack css pour FireFox >=1.5
Pour créer un css hack qui fonctionne que sous Firefox >=1.5 vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Hack css pour FireFox >=1
Pour créer un css hack qui fonctionne que sous Firefox >=1 vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Hack css pour FireFox >=3
Pour créer un css hack qui fonctionne que sous Firefox >=3 vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Hack css pour Safari
Hack css pour Safari < 3
Pour créer un css hack qui fonctionne que sous Safari < 3 vous pouvez utiliser le Hack css suivant :
Toutes les propriétés après le # sont ignorées.
Résultat :
Copie d'écran :
Hack css pour Safari 3.2
Pour créer un css hack qui fonctionne que sous Safari 3.2 (et peut être version inférieures mais je ne peux pas tester) vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Hack css pour Safari <=3.1
Pour créer un css hack qui fonctionne que sous Safari <= 3.1 vous pouvez utiliser le Hack css suivant :
Problème, ce hack est reconnu par Opéra
Résultat :
Copie d'écran :
Hack css pour Safari 2
Pour créer un css hack qui fonctionne que sous Safari 2 vous pouvez utiliser le Hack css suivant :
Problème, ce hack est reconnu par Opéra < 9.25 (Non testé)
Résultat :
Copie d'écran :
Hack css pour Safari 3+ & Chrome1+
Pour créer un css hack qui fonctionne que sous Safari >=3 et Chrome >=1 vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Hack css en cours de test
Hack css pour Ie 8
Pour créer un css hack qui fonctionne que sous internet explorer 8, vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Tous les navigateurs sauf IE6 à 8
Pour créer un css hack qui fonctionne sur tous les navigateurs sauf internet explorer 6 à 8, vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Date du Hack CSS : 17/04/2010
Hack css Internet Explorer 6 à 8
Pour créer un css hack qui fonctionne sur internet explorer 6 à 8, vous pouvez utiliser le Hack css suivant :
Résultat :
Copie d'écran :
Date du Hack CSS : 17/04/2010
Hack css pour Windows Phone 7
Commentaires conditionnels
Depuis l'arrivé de Windows Phone 7, les commentaires conditionnels propres à Internet Explorer acceptent la valeur IEMobile avec ou sans version.
Hack css pour ie 9+, f3.5, s4, ...
Les medias queries
Depuis l'arrivé des Media Queries, vous pouvez cible simplement les navigateurs suivant FireFox 3.5+, Safari 4+, Internet Explorer 9+, Opera 9+ sans pour autant faire vraiment de la Media Queries, il se base dur le mot cle "only
".
Ce hack est particulièrement, intéressant pour ie9+ quand vous utilisez des propriétés filter css pour les versions antérieures. Il permet de mettre la propriété css filter
à none
pour les versions ie9+.
Résultat :
Copie d'écran :
La règle @supports
Tester une propriété et sa valeur en css
La règle @supports
est apparue en Css3. Elle permet de tester si une propriété ou sa valeur sont reconnues par le navigateur. On peut cumuler les tests et y jouter les opérateurs not
, or
et and
.