IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Différence IE/Firefox : Retour Chariot "\n" et Tab


Sujet :

HTML

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Différence IE/Firefox : Retour Chariot "\n" et Tab
    Bonjour,

    Je fais un site en PHP. Et je le teste au fur et à mesure sur IE6 et Firefox 1.5.
    Le tout sur Windows XP en utilisant EasyPHP.

    Voilà pour l'introduction, passons au vif du sujet ;-)

    J'ai un menu de navigation (tout simple, à base de <li> et da <a>)
    Le rendu de ce menu diffère suivant que j'utilise internet explorer ou firefox.
    Et ce n'est pas une question de positionnement ou de marges CSS.

    Voici le code simplifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    echo "    <ul>\n";
    echo "      <li>\n";
    echo "        <a href=\"page1.php\">Page 1</a>\n";
    echo "      </li>\n";
    echo "      <li>\n";
    echo "        <a href=\"page2.php\">Page 2</a>\n";
    echo "      </li>\n";
    echo "    </ul>\n";
    Les espaces en début de chaque ligne servent à respecter la mise en page des balises.
    Le problème doit venirdes retour-chariots "\n" et des fameuses tabulations.

    Sous Firefox, pas de bug, mais sous Internet Explorer, j'ai un saut de ligne entre chaque lien.

    Ce qui donne à peu près ça sous Firefox :

    Et ça sous Internet Explorer :

    Autant vous dire que mon menu prend deux fois plus de place en hauteur sous Internet Explorer que sous Firefox
    Pas très joli en somme !

    Si je refais le code pour retirer tous les retour-chariots, j'obtiens donc ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<ul><li><a href=\"page1.php\">Page 1</a></li><li><a href=\"page2.php\">Page 2</a></li></ul>\n";
    Et là, j'ai plus ce problème de saut de ligne disgracieux.

    Pourquoi Internet Explorer interprète les retour-chariot et les tabulations comme des llignes à part entières ?
    Ou même, pourquoi FireFox ne le fait pas ?

    Mais surtout : Comment faire pour que le rendu soit identique quel que soit le navigateur ?
    (j'ai pas Opera, j'ai pas testé avec ce navigateur, ni avec tous les autres du marché)

    Si vous avez des idées, je suis preneur... parce que là je tourne en rond

    [Modéré par Nesmontou]
    [Forum original PHP]

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, j'ai eu aussi ce problème. En fait, c'est un bug de IE dans son interprétation du code HTML. Ton erreur ne vient pas de PHP

    Pour le résoudre, il faut tout mettre en ligne comme tu l'as fait

  3. #3
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    le plus chiant etant de faire un test sur ce que possede le visiteur comme navigateur et de faire le code suivant ça... mais c'est efficace

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Justement, je teste sur plusieurs navigateurs pour faire un site 100% compatible, et donc ne pas avoir certaines parties du code réservées à un type de navigateur plutôt qu'à un autre.

    Ce que je comprends pas c'est que les listes sont mondialement utilisées pour créer des menus... et d'autres sites n'ont pas ce problème avec Internet Explorer.... d'où mon incompréhension !?!?

    Pour le moment, j'ai viré les listes, je garde que les liens... Ainsi j'ai pas ce problème de saut de lignes.
    Mais j'espère trouver une solution quand même, les listes c'est pratique.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bon, ben en fait j'ai réussi à limiter la casse en écrivant chaque lien sous la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo "    <ul>\n";
    echo "      <li>\n";
    echo "        <a href=\"page1.php\">Page 1</a></li><li>\n";
    echo "        <a href=\"page2.php\">Page 2</a></li></ul>\n";
    C'est un tout petit peu moins crade que tout sur la même ligne
    Je peux pas faire mieux, si je mets la balise fermante UL sur la ligne du dessous, j'ai un saut de ligne

    Bon, ça ira pour le coup

    Merci pour vos réponses, et encore désolé pour la mauvaise section

    PS : J'ai quand même remarqué que si, dans la feuille CSS, je ne précisais pas que mes liens étaient "display : block" et bien je n'avais pas ce problème. Mais bon, le rendu n'est pas du tout le même, donc je garde mon "display : block" et j'adapte le code comme indiqué ci-dessus

  6. #6
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Excusez moi d'arriver comme un cheveux dans la soupe mais pourquoi donner la charge à ton serveur d'afficher du code HTML simple?

    edit : à voir du coté des forums CSS mais avec des mises en formes conditionnelles, j'ai déjà vu des problèmes de ce type réglés au cas par cas.

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/10/2009, 10h43
  2. retour chariot dans un string
    Par bono dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/12/2003, 12h17
  3. Retour chariot dans un TMemo ?
    Par Vincent PETIT dans le forum C++Builder
    Réponses: 7
    Dernier message: 27/08/2002, 18h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo