Question

Est-il préférable d’avoir un fichier CSS différent pour chaque utilisateur-agent ou d’utiliser CSS Hacks que seuls certains navigateurs peuvent voir?

Était-ce utile?

La solution

Ni l'un ni l'autre.

Le mieux est d'écrire du code qui fonctionne dans tous les navigateurs sans qu'il soit nécessaire d'utiliser un code spécifique au navigateur ou des hacks CSS. Ce n’est bien sûr pas aussi facile à réaliser, c’est pourquoi beaucoup de gens utilisent les autres méthodes.

La clé est d’éviter les problèmes avec certains navigateurs (très souvent Internet Explorer). L’une d’entre elles consiste à utiliser le remplissage plutôt que la marge, car IE ne gère pas correctement le regroupement des marges.

Certaines méthodes qui se trouvent à la limite des piratages utilisent un code qui n'affecte pas les navigateurs qui fonctionnent correctement, mais corrige des problèmes pour un navigateur spécifique. Cela pourrait être, par exemple, de spécifier une hauteur pour un élément qui n'en aurait normalement pas besoin ou de spécifier display:inline sur un élément flottant.

La page La position est tout contient des exemples de bogues et des correctifs suggérés. (Souvent, le correctif est une sorte de bidouille, vous devriez donc bien sûr également vous demander si vous pouvez éviter le problème.)

Autres conseils

Il vaut mieux ne faire ni l'un ni l'autre.

Un bon css-reset et un css qui fonctionne avec le même navigateur croisé est une bien meilleure solution.

Si votre conception exclut absolument cela, alors (et seulement alors) pourrais-je essayer des hacks ou des commentaires conditionnels IE.

Je n'ai pas encore vu le besoin de fichiers CSS multiples (au-delà de quelques corrections IE6 adressées via un commentaire conditionnel).

Ni si possible. Maintenant que l'ancien Netscape, IE & Lt; = 6 etc., n'est plus vraiment utilisé, j'essaie d'utiliser des fonctionnalités qui fonctionnent dans tous ces navigateurs (par exemple, FF & Gt; = 2, IE gt; = 7, Chrome, Opera).

Les

commentaires conditionnels pour les problèmes liés à Internet Explorer semblent être la norme. Combiné avec un peu de JavaScript, comme Dean, c'est-à-dire . vous pouvez atténuer la plupart des problèmes de navigation entre navigateurs sans recourir à des hacks dans vos fichiers CSS.

Il vaut mieux utiliser un fichier CSS différent pour Internet Explorer 6-7 (incluez-le via commentaires conditionnels ), et des hacks pour les autres navigateurs.

Une sorte de suivi est de savoir comment développer le fichier unique qui fonctionne.

La meilleure approche que j’ai vu fonctionner est de partir de rien, de le construire lentement et de vérifier les changements, qu’il soit toujours compatible avec vos principaux navigateurs (en particulier ceux qui posent problème).

Lorsque vous le faites pleinement fonctionner avec un navigateur, puis que vous dites & "Il est temps de le convertir &"; C'est quand la douleur commence vraiment et où vous devez commencer le piratage.

Mon approche en utilisant un Classe PHP pour détecter la version du système d'exploitation, du navigateur et du navigateur. Vous pouvez cibler n’importe quelle version de la plupart des navigateurs sur n’importe quel système d’exploitation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top