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 :

[XHTML] Propagation de text-decoration aux éléments frères ?


Sujet :

HTML

  1. #1
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut [XHTML] Propagation de text-decoration aux éléments frères ?
    Bonjour,

    je suis confronté à un problème assez énervant...

    Soit une page XHTML comprenant le bout de code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <p>
      <span style="text-decoration: underline; ">Jour de sortie</span>
    </p>
    <ul>
      <li>
        <p>En établissement public :</p>
        ...
    Je sais que le code n'est pas très propre, mais il est généré automatiquement ; cette page est liée à une feuille de style CSS comprenant ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    P {
      text-align: justify;
    }
    Le résultat, plutôt surprenant, est que le texte "Jour de sortie" est bien souligné, mais que le paragraphe "En établissement public :" l'est aussi, et tous les autres paragraphes de la page ! Comme si le style local se propageait à toute la page...

    Je sais que IE 6 gère mal les text-decoration, mais il me semblait que ces problèmes se limitaient aux éléments imbriqués, pas aux éléments frères.
    J'ai tenté de régler le problème en rajoutant un text-decoration: none à la définition de P dans le CSS, sans succès.

    Je vois arriver le moment où je vais devoir ajouter un style="text-decoration: none" à tous les autres paragraphes, mais si je pouvais éviter cela, et que quelqu'un avait une solution ou une explication, je lui en serais reconnaissant...

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    Lut Grand Pa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ul.li.p { style prope au paragraphe}

  3. #3
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Salut Froggy
    Citation Envoyé par SpaceFrog
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ul.li.p { style prope au paragraphe}
    Nope. J'ai tenté cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ul.li.p {
    text-decoration: none;
    color: red;
    }
    Le deuxième paragraphe est resté souligné, et n'est pas passé en rouge. J'avoue que là je patauge...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 79
    Points
    79
    Par défaut
    Essayes en remplaçant les points par des espaces:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ul li p {
    text-decoration: none;
    color: red;
    }

  5. #5
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par _dranece_
    Essayes en remplaçant les points par des espaces:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ul li p {
    text-decoration: none;
    color: red;
    }
    Bon, y'a du mieux (si on peut dire) : le paragraphe est toujours souligné, mais au moins il est coloré en rouge...

  6. #6
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    J'ai trouvé la cause du problème. En tête de ma page j'avais ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <p>
      <span style="text-decoration: none; "/>
    </p>
    J'ai remplacé ce code par un simple
    Et tout fonctionne, ne sont soulignés que les portions de texte avec un style local. Le problème venait très certainement du fait qu'il n'y avait pas d'espace entre les guillemets de fermeture et le /. IE considérait donc que la balise <span> n'était pas fermée, et que toutes les autres balises étaient donc des balises filles qui héritent du style de celle-ci. En résumé, je me suis fait avoir comme un bleu...
    Merci à vous deux.

    [EDIT] le W3C préconise d'employer <p> </p> plutôt que <p /> pour assurer la compatibilité XHTML/HTML

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/02/2010, 11h07
  2. [VB.NET] Associer une clé aux éléments d'une combo
    Par Cereal123 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 30/03/2009, 15h52
  3. [WebForms][2.0]Accéder aux élément DropDownlist via Javascript
    Par steelidol dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 21/10/2005, 16h01
  4. [Xerces] Obtenir le texte d'un élément
    Par krappa dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 26/09/2005, 17h34
  5. Zone de text limité aux chiffres
    Par fadex dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/09/2005, 12h28

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