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] xhtml strict et balise <img>


Sujet :

HTML

  1. #1
    Membre confirmé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Points : 645
    Points
    645
    Par défaut [XHTML] xhtml strict et balise <img>
    Bonjour,

    Est-ce que quelqu'un aurait la raison pour laquelle on ne doit pas mettre de balise img telle quelle en xhtml strict.
    On doit l'inclure dans un <div> ou <h1> ou <p>, etc.

    Pourquoi ?

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE html 
                        PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                        "http://www.w3.org/TR/xhtml1/dtD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" 
               xml:lang="FR">
      <head>
      <title>Titre</title>
      </head>
      <body style="top-margin:0px; left-margin:0px">
      <img src="image.gif" width="100" height="75" alt="texte alternatif"/>
      </body>
    </html>
    n'est pas valide alors que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE html 
                        PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                        "http://www.w3.org/TR/xhtml1/dtD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" 
               xml:lang="FR">
      <head>
      <title>Titre</title>
      </head>
      <body style="top-margin:0px; left-margin:0px">
      <div><img src="image.gif" width="100" height="75" alt="texte alternatif"/></div>
      </body>
    </html>
    est valide.

  2. #2
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    salut,

    sur cette page, tu pourras voir quels sont les éléments autorisés dans l'élément body...

    http://giminik.developpez.com/xhtml/body.html

  3. #3
    Membre confirmé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Points : 645
    Points
    645
    Par défaut
    Je sais bien que <img> n'est pas un enfant de <body> dans la dtd.

    Ma question était : Pourquoi ?

  4. #4
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    Bonjour,

    La raison est peut être qu'en xhtml la balise img est de type 'inline'.
    Et qui dit type inline dit qu'elle doit être incluse dans une balise de type 'block'.

    Et puis c'est la norme, alors pourquoi faudrait il une raison

    voili, voilou

  5. #5
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    Citation Envoyé par kalyparker
    ...La raison est peut être qu'en xhtml la balise img est de type 'inline'.
    Et qui dit type inline dit qu'elle doit être incluse dans une balise de type 'block'...
    C'est ce que j'allais répondre, mais manifestement, il y a autre chose car les éléments del et ins qui sont de type inline sont également autorisés...

  6. #6
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    C'est ce que j'allais répondre, mais manifestement, il y a autre chose car les éléments del et ins qui sont de type inline sont également autorisés...
    Je connais pas bien del et ins (je suis en train d'apprendre xhtml), mais apparemment del et ins sont rangé dans les types block:
    cf : http://www.w3schools.com/tags/ref_byfunc.asp

  7. #7
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    Le premier lien que j'ai donné parlait de la norme xhtml1.1 mais je ne vois pas pourquoi ca aurait changé entre les deux...

    Vu l'utilisation qui en est fait, ca me paraitrait plus logique que ce soit un élément inline... mais là, je vois pas trop...

    Je crois que le "Blocks" dans ton lien ne fait pas référence a la valeur par défaut de la propriété display en css mais plutot à la sémantique associée à l'élément

    De nombreux éléments de type block figure dans d'autres catégorie. D'ailleurs, si ca parlait de la propriété display, les titres de catégories seraient inline, block, table, table-cell...

  8. #8
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    Oups !
    J'ai peut être lu un peu vite...
    Je pense que tu as raison MasterOfChakhaL, les balises ins et del doivent être du type inline.
    Pour les reconnaitres j'ai lu quelque part que les types block faisait automatiquement des retours à la ligne, alors que les type inline non.
    En faisant un simple test, il apparait que ins et del ne font pas de retour à la ligne donc...

    Alors pourquoi pour ces 2 balises sont autorisées
    Là je sèche !

  9. #9
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 655
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 655
    Points : 11 150
    Points
    11 150
    Par défaut
    bonjour,

    avant la lecture du lien de MasterOfChakhaL, j'aurais dit que la balise img comme les balises input, br ou hr n'ont pas de balises de fermeture. Ce qui explique sans doute l'obligation de les encadrer.

    Malheureusement, après lecture du document, je m'apperçois que hr peut être un enfant de body (par contre br n'est pas dans la liste).

    En faisant un simple test, il apparait que ins et del ne font pas de retour à la ligne donc...

    Alors pourquoi pour ces 2 balises sont autorisées
    ins et del sont des balises en ligne et ce qui m'embête c'est que d'après la documentation, elles peuvent avoir des balises enfants de type "bloc" comme les div.

Discussions similaires

  1. [XHTML] xhtml strict, vraiment très strict
    Par php_de_travers dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 23/11/2006, 09h22
  2. [XHTML] xhtml 1.0 strict validation
    Par Johnny P. dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 27/09/2006, 14h10
  3. [XHTML] XHTML 1.0 Strict : Lien avec "target" ?
    Par MaTHieU_ dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/08/2006, 18h56
  4. [XHTML] Problème avec des balise de type block
    Par kei-kun41 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 05/06/2006, 14h55
  5. CSS XHTML 1 STRICT et Internet Explorer : un univers dingue!
    Par tynmar dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 06/04/2006, 19h38

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