Distinction de style selon le navigateur

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
olab
Varan
Messages : 1254
Inscription : 30 juil. 2003, 20:20

Message par olab »

Calimo avec ce script essaye de voir si la personne pourra ou non utiliser les extensions, il ne cherche pas à bloquer l'accès au site :-)

D'ailleurs quand on fait un fichier include comme ça calimo, on ajoute l'extension .php, comme ça, personne ne voit le code ;-)
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Message par GizMecano »

Hello world,
Mais ce n'était pas utilisé dans le but de restreindre l'accès à quoi que ce soit, juste à afficher un message [etc.]
Eh bien, c'est bien ce que je veux faire moi. Je ne veux pas empêcher les utilisateurs d'IE d'afficher ma page, je veux juste qu'il charge une CSS particulière, parce que ce nigaud de logiciel ne gère pas correctement les styles.

Je ne vois toujours pas comment faire ça avec des commentaires conditionnels sans alourdir le code pour tous les navigateurs alors qu'il me paraît si simple de faire une petite détection en PHP pour trouver comment afficher la page pour tel ou tel navigateur.
Bref, tout est dans la nuance et l'utilisation qu'on en fait.
Exactement : alors, comment se départager sur mon problème : un cas ou l'autre voire un mixe des deux :?:

Vos avis m'intéressent, mais j'aimerais bien être clair sur le fait que, actuellement, avec mon système, je n'empêche aucun navigateur de lire le site correctement, je me contente de faire une sorte d'aiguillage qui permet justement un affichage optimum pour chacun (enfin, je ne distingue surtout que IE et la Moz Family). Ceci dit, s'il ne vous semble pas assez précis, je veux bien qu'on me dise comment faire mieux.

Merci encore...

Ciao,
GizMecano.net
http://gizmecano.net
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Code : Tout sélectionner

<!--[if lt IE 7]>
<link href="hackIE.css" rel="stylesheet" type="text/css">
<![endif]-->
Si tu mets ce code dans le head de ta page, seul IE inférieur à la version 7 chargera cette feuille de style, tous les autres navigateurs le prendront comme un commentaire et ne s'en soucieront pas. Cette feuille particulière peut contenir des propriétes spécifiques à IE, et en "écraser" d'autres définies dans d'autres css chargés plus tôt (c-a-d situé au dessus, ...avant .., dans le code).
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

GizMecano a écrit :Eh bien, c'est bien ce que je veux faire moi. Je ne veux pas empêcher les utilisateurs d'IE d'afficher ma page, je veux juste qu'il charge une CSS particulière, parce que ce nigaud de logiciel ne gère pas correctement les styles.
Donc tu veux bien l'empêcher de faire quelque chose :wink:
Tu dois donc avoir une réussite de 100% !
GizMecano a écrit :Je ne vois toujours pas comment faire ça avec des commentaires conditionnels sans alourdir le code pour tous les navigateurs alors qu'il me paraît si simple de faire une petite détection en PHP pour trouver comment afficher la page pour tel ou tel navigateur.
Alourdir le code de quelques lignes, ce n'est pas si affreux. Pour du code visible dans IE6- :

Code : Tout sélectionner

<!--[if lt IE 7]>
Styles pour IE6 et moins
<![endif]-->
Pour cacher du code à IE :

Code : Tout sélectionner

<!--[if !IE]><-->
Styles pour tous sauf IE
<!--> <![endif]-->
Et voilà le travail. Ce n'est pas très lourd, c'est valide (remarque : la syntaxe présentée par MS ne l'est pas :evil: )... que vouloir de plus ?
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Au fait je me demandais : pour un menu déroulant puis-je le faire en css pour Firefox (qu'Internet Explorer ne comprendra pas) et rajouter dans le code html un javascript placé dans les balises conditionnelles (que Firefox ne comprendra pas) ?
Y a-t-il des navigateurs qui comprennent les deux ou aucun ?
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Pour le menu déroulant, essais d'utiliser un code valable sur les deux. Même si ie et digne d'un muser, il ne faut pas non plus exagérer...
Inscrit sur la liste des abonner absent...
chBok
Iguane
Messages : 991
Inscription : 17 oct. 2003, 19:17

Message par chBok »

SB a écrit :Au fait je me demandais : pour un menu déroulant puis-je le faire en css pour Firefox (qu'Internet Explorer ne comprendra pas) et rajouter dans le code html un javascript placé dans les balises conditionnelles (que Firefox ne comprendra pas) ?
Y a-t-il des navigateurs qui comprennent les deux ou aucun ?
Il y a quelques exemples ici : http://www.alsacreations.com/articles/modelesmenus/
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Ces exemples mêlent css et javascript. C'est je pense le seul moyen de faire un code valable ausi bien pour FF que IE ou autre navigateur. Mais justement je veux un menu en css pur pour les vrais navigateurs et du script pour les autres.
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Avec uniquement des css je ne sais pas si tu vas pouvoir faire grand chose.

En plus la le javascripte et vraiment minimal...
Inscrit sur la liste des abonner absent...
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Bon ben il ne me reste plus qu'à essayer...
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Humm... j'ai commencé à douter fortement des menus déroulants en CSS. Ce n'est de loin pas idéal. Opera a de la peine (mais ils se sont bien améliorés, mon menu passe nettement moins mal). Je ne sais pas ce qu'il en est de KHTML.

Si tu veux faire ce genre de choses mixtes, il va falloir faire un menu qui respecte mieux la séaration que celui d'alsacréations, qui d'ailleurs est nettement moins bien que celui qui était présenté il y a quelques mois. Il ne sépare pas la dynamique du contenu, et est très peu accessible (innavigable au clavier si JS est activé, etc).
Bref il va falloir repartir sur des bases saines. Je n'ai malheureusement pas d'exemples de "bon" menu.
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Message par GizMecano »

Hello world,
calimo a écrit :Et voilà le travail. Ce n'est pas très lourd, c'est valide (remarque : la syntaxe présentée par MS ne l'est pas :evil: )...
D'accord. Je prends bonne note de tout ça... Ce n'est effectivement pas très lourd, quoique ça rajoute un peu de code inutile (inutile pour l'un ou l'autre des navigateurs, s'entend).
calimo a écrit :que vouloir de plus ?
Ben justement :? Je profitais de ma détection par user-agent pour dire à IE que mes logos et titres étaient en JPG alors que les autres étaient en PNG... Là, je ne vais plus pouvoir faire ça, non :?:

Parce que je crains que mélanger des commentaires conditionnels à des scripts PHP ne deviennent diablement compliqué, non :?:

Encore merci à tous.

Ciao,
GizMecano.net
http://gizmecano.net
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Tu fais pareil, mais au lieu d'inclure des styles dans tes commentaires, tu mets des images...
C'est clair que c'est vite un peu le bordel, alors tu ne mets que des png, c'est plus simple. Oublie purement et simplement ton script php pour ça, pour les mêmes raisons que citées avant (et si tu commences à mélanger les deux... :? tu courres à la catastrophe).
Laisse la page se dégrader naturellement, non seulement tu te compliques la vie, mais en plus c'est encore pire :roll:
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Message par GizMecano »

Hello world,

Je rebondis sur ce vieux passage du fil en particulier, parce que je m'aperçois que nous avons finalement un problème de communication basique :?
calimo a écrit :
GizMecano a écrit :Eh bien, c'est bien ce que je veux faire moi. Je ne veux pas empêcher les utilisateurs d'IE d'afficher ma page, je veux juste qu'il charge une CSS particulière, parce que ce nigaud de logiciel ne gère pas correctement les styles.
Donc tu veux bien l'empêcher de faire quelque chose :wink:
Tu dois donc avoir une réussite de 100% !
Avec ma méthode, en effet, j'ai quand même une réussite de 100 % :wink:

Je m'explique : MSIE ne sait de toute façon pas charger plusieurs CSS. Donc, si je l'aiguille sur une CSS particulière, je ne vois pas en quoi je bride le visiteur.

En clair, je ne l'empêche pas de faire quelque chose, je lui dit que, parmi un choix qu'il ne sait pas gérer, celui qui lui convient est celui-ci et pas celui-là.

Ceci dit, bien entendu, ça n'invalide pas le reste des critiques sur le procédé de détection du navigateur par l'usage de user-agent :)

Ciao,
GizMecano.net
http://gizmecano.net
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Message par GizMecano »

Hello world,
calimo a écrit :Tu fais pareil, mais au lieu d'inclure des styles dans tes commentaires, tu mets des images...
D'accord, mais alors là, n'allez pas me dire qu'à la fin des fins je ne finis pas par allourdir le code, et uniquement pour écrire un code made in MS, parce que ce crét... de logiciel ne sait pas lire des pages normalement... :?

Parce que si je place toutes ces exceptions dans des commentaires conditionnels, alors que pour leur elles sont simplement écrites par des variables, ça multiplie sensiblement le nombre de lignes...
calimo a écrit :C'est clair que c'est vite un peu le bordel, alors tu ne mets que des png, c'est plus simple.
Ben non... Sinon, autant ne pas faire une CSS juste pour IE. La démarche n'a plus aucun sens... :cry: MSIE ne sait pas les lire correctement. C'est très très laid.
calimo a écrit :Laisse la page se dégrader naturellement, non seulement tu te compliques la vie, mais en plus c'est encore pire :roll:
Je ne comprends pas ce que tu veux dire par "dégrader naturellement" : tu parles des commentaires conditionnels ou du fait que, même en les utilisant, comme les PNG ne sont pas correctement lu, mes pages seront de toute façon pourries sous MSIE :?:

En tout cas, j'espère que ce fil permettra à ceux qui se posent ce genre de question de trouver quelques éléments de réponse. Merci.

Ciao,
GizMecano.net
http://gizmecano.net
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités