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 :

Pourquoi doit-on utiliser la balise <img /> dans la balise <p> ?


Sujet :

HTML

  1. #1
    Membre à l'essai
    Homme Profil pro
    Infographiste
    Inscrit en
    Janvier 2017
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Infographiste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2017
    Messages : 43
    Points : 20
    Points
    20
    Par défaut Pourquoi doit-on utiliser la balise <img /> dans la balise <p> ?
    Bonjour à vous tous,

    Je reviens vers le HTML et CSS que j'avais abandonné en 2017.
    Je suis des tutoriels sur Youtube et j'ai appris dans un tuto que la balise <img /> doit toujours être utilisée dans une balise <p>.
    Sauf si elle est utilisée dans la balise <figure> auquel cas on peut oublier la balise <p>.
    Pourquoi est-ce si important qu'elle soit placée dans une balise <p> ?
    En principe, la balise <p> sert à annoncer un paragraphe et une image n'est pas du texte.

    Merci à vous de m'éclairer.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 136
    Points : 44 934
    Points
    44 934
    Par défaut
    Bonjour,
    j'ai appris dans un tuto que la balise <img /> doit toujours être utilisée dans une balise <p>
    change de tuto

    On peut mettre la balise <img> dans à peu près toutes les balises existantes.
    Pour t'en convaincre teste avec un validateur HTML le code suivant :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!DOCTYPE html>
    <html lang="fr">
    <head>
      <title>Test</title>
    </head>
    <body>
      <img src="blabla.png" alt="">
      <a href="#"><img src="blabla.png" alt=""></a>
      <h1>Titre<img src="blabla.png" alt=""></h1>
      <div><img src="blabla.png" alt=""></div>
      <span><img src="blabla.png" alt=""></span>
    </body>
    </html>

  3. #3
    Membre à l'essai
    Homme Profil pro
    Infographiste
    Inscrit en
    Janvier 2017
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Infographiste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2017
    Messages : 43
    Points : 20
    Points
    20
    Par défaut
    En effet, j'ai testé ton code dans le validateur HTML et il n'y aucune erreur.
    J'ai testé aussi le code suivant et il n'y a pas d'erreur non plus dans le validateur HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    	<meta charset="utf-8">
    	<link href="styles.css" type="text/css" rel="stylesheet">
    	<title>Titre de la fenêtre</title>
    </head>
    <body>
      <img src="blabla.png" alt="">
    </body>
    </html>
    Je crois que j'ai trouvé.
    C'est une affirmation qui remonte aux versions antérieurs du HTML 5 où la balise <img /> ne pouvait pas être directement enfant de la balise <body>.
    Il fallait la placer obligatoirement dans une balise parent (div, p, a, span, etc.).
    Avec la version HTML 5 cette obligation n'est plus d'actualité.
    Je me trompe ?

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Citation Envoyé par Obi Juan Kenobi Voir le message
    Avec la version HTML 5 cette obligation n'est plus d'actualité.
    Je me trompe ?
    Honnêtement, je n'épluche pas souvent les textes de loi, donc je ne saurais te le confirmer.

    N'empêche: une balise img est de type inline et, à ce titre, doit normalement être insérée dans un élément block, quel qu'il soit;

  5. #5
    Membre à l'essai
    Homme Profil pro
    Infographiste
    Inscrit en
    Janvier 2017
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Infographiste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2017
    Messages : 43
    Points : 20
    Points
    20
    Par défaut Pourquoi une balise de type in line doit être placée dans une balise de type bloc
    N'empêche: une balise img est de type inline et, à ce titre, doit normalement être insérée dans un élément block, quel qu'il soit;
    Très intéressant ce que tu dis et cela m'oblige à poser la question pourquoi ?
    Parce que j'ai placé la balise <img /> en dehors de toute autre balise de type bloc et le validateur HTML ne m'a signalé aucune erreur.
    Ce que je voudrais savoir c'est pourquoi une balise de type in line doit être placée dans une balise de type bloc.

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 136
    Points : 44 934
    Points
    44 934
    Par défaut
    Citation Envoyé par Obi Juan Kenobi
    C'est une affirmation qui remonte aux versions antérieurs du HTML 5 où la balise <img /> ne pouvait pas être directement enfant de la balise <body>.
    Il fallait la placer obligatoirement dans une balise parent (div, p, a, span, etc.).
    Avec la version HTML 5 cette obligation n'est plus d'actualité.
    Je me trompe ?
    Seuls des éléments type Block-Level pouvaient être enfant direct de <body>, mais heureusement il y a prescription.


    Citation Envoyé par javatwister
    Honnêtement, je n'épluche pas souvent les textes de loi, donc je ne saurais te le confirmer.
    Dommage c'est parfois plein de bonnes informations


    Citation Envoyé par javatwister
    N'empêche: une balise img est de type inline et, à ce titre, doit normalement être insérée dans un élément block, quel qu'il soit;
    Pas fatalement, un élément inline peut recevoir un élément inline.

  7. #7
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    Pas fatalement, un élément inline peut recevoir un élément inline.
    Ah ah, bien joué
    Quelle mauvaise foi, quand même...

    Je voulais dire: "Il est de mauvais goût qu'un élément inline se balade dans la nature sans être englobé dans un contenu block, même si ce n'est pas son ascendant direct."

  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 136
    Points : 44 934
    Points
    44 934
    Par défaut
    Je te concède une légère, mais très légère mauvaise fois attendu qu'il ne s'agit là que de rendre le document conforme, car comme on fait ce que l'on veut avec les display ... le principal étant que cela tienne la route sémantiquement sans trop se prendre la tête.

    PS : Il y aurait encore à dire sachant que
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><q>c'est conforme</q></p>
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <q><p>c'est non conforme et pourtant !</p></q>

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/01/2018, 16h48
  2. Pourquoi ne pas utiliser Word, Excel, Powerpoint ?
    Par kisitomomotene dans le forum Autres outils décisionnels
    Réponses: 23
    Dernier message: 08/09/2006, 19h02
  3. [XSLT] Comment utiliser la balise sort
    Par Extra-Nitro dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 24/08/2006, 15h54
  4. Pourquoi doit-on créer un TStringList ?
    Par Bleys dans le forum Delphi
    Réponses: 4
    Dernier message: 11/08/2006, 16h46
  5. usage balise <img src ..> dans un fichier inc.
    Par faamugol dans le forum ASP
    Réponses: 4
    Dernier message: 20/12/2004, 15h09

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