hacker le css
Hors ligneBrako Le 06/06/2008 à 19:01 Profil de Brako Configuration de Brako

Bonjour

Allez hop une petit problème sans fond pour finir en beauté cette journée

Dans la création d'un site Web, la question de la comptabilité entre les navigateurs finit toujours par se poser.

Doit-on forcément avoir recours au hack css ?

si oui quelles sont les différentes manières (et surtout les meilleures) de hacker le css pour atteindre un compatibilité optimale sur différents navigateurs (et pas seulement sur Internet exploreur et firefox).

Si non comment peut-on gérer les différentes façons d'interprétation du code pour mettre tout le monde d'accord.

Car moi je galère à faire la navette entre les différents navigateurs et je fini par en perdre mon Latin
--
Ce qui donne une éventuelle matière à suspecter une quelconque propagande ...
Hors ligneAnthony Le 06/06/2008 à 20:00 Profil de Anthony Configuration de Anthony

Fou du volant
Salut

Une petite méthode que j'applique et qui fonctionne très bien pour la plupart des navigateurs. Sachant que IE (et encore, c'est différent selon les versions) interprète le padding d'une manière différente des autres navigateurs, voilà ce que je fais si je veux :

- une marge de 10 pixels sous firefox / opéra / mozilla / etc (navigateurs basés sur gecko)
- une marge de 5 pixels sur internet explorer 6
- une marge de 15 pixels sur internet explorer 7

Voici ce que je mets dans ma CSS :

margin:10 px !important;
/margin:15px !important;
/margin:5px;

pourquoi ? le / comme premier caractère (ou l'underscore, et d'autres encore) n'est interprété que par IE, c'est à dire que les autres navigateurs vont l'ignorer. Les autres navigateurs vont donc utiliser la marge de 10 pixels.

Reste ensuite IE 6 et IE 7. Par défaut, IE 6 prend la dernière ligne comme étant la plus importante, c'est à dire que si tu mets deux lignes comme ceci :

margin:10px;
margin:5px;

bah ie 6 va prendre une marge de 5 pixels. IE 6 ne gère d'ailleurs pas le !important, contrairement à IE 7. Pour les faire cohabiter, tu mets donc la ligne concernant IE 7 avant IE 6 avec un !important à la fin, ce qui fait que IE 7 la prendra en compte.

IE 6 prendra en compte la dernière ligne. Avec ça tu résous déjà pas mal d'incompatibilités ;)
--

Hors ligneBrako Le 06/06/2008 à 20:53 Profil de Brako Configuration de Brako

Merci Anthony

Dire que pendant un instant j'avais pensé à inclure le css via un include php, et à adapter le code en identifiant le navigateur du client...

Je vais tester ça de ce pas

merci encore
--
Ce qui donne une éventuelle matière à suspecter une quelconque propagande ...
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels