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 :

[display] Affichage de blocs "en ligne" (inline)


Sujet :

HTML

  1. #1
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut [display] Affichage de blocs "en ligne" (inline)
    Bonjour à tous,

    J'ai un chti pb à soumettre à nos maîtres du CSS : je voudrais afficher des images avec une légende côte à côte, et une ligne en dessous de l'autre.

    Pour écrire mes images avec légende, je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <p>
    <div><img src="image1.jpg"><br>ma légende 1</div>
    <div><img src="image2.jpg"><br>ma légende 2</div>
    ...
    </p>
    L'inconvénient est que les images (à cause des DIV) sont mises les unes en dessous des autres. J'ai donc tenté d'utiliser <span> prévu pour le "inline" en HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <p>
    <span><img src="image1.jpg"><br>ma légende 1</span>
    <span><img src="image2.jpg"><br>ma légende 2</span>
    ...
    </p>
    Mais là, c'est pas terrible non plus, car le texte et les images sont mises "n'importe comment".

    D'où l'idée d'utiliser l'attribut CSS display : avec <span style="display: inline-block;">, ça marche nickel avec IE mais pas avec FF

    : Alors, que faire ?

    Question subsidiaire : comment faire pour afficher la légende en dessous des images de façon pûrement "CSS spirit" ? Pour le moment, je suis obligé de mettre un <br> entre l'image et le texte, mais je ne trouve pas ça terrible...

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    css => float:left ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ah, bien tenté !!! Mais ça ne me va pas, car dans ce cas, si une image est trop haute, je peux me retrouver avec deux images placées verticalement à sa droite. Désolé, mais je ne peux pas faire de capture d'écran pour vous montrer. Ca peut donner ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    --------------  --------------  --------------
    |            |  |            |  | image3.jpg |
    |            |  |            |  |            |
    | image1.jpg |  |            |  --------------
    |            |  |            |  legende 3
    |            |  | image2.jpg |
    |            |  |            |  --------------
    --------------  |            |  | image4.jpg |
    legende1        |            |  |            |
                    |            |  --------------
                    --------------  legende 4
                    legende 2
    Alors que je voudrais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    --------------  --------------  --------------
    |            |  |            |  | image3.jpg |
    |            |  |            |  |            |
    | image1.jpg |  |            |  --------------
    |            |  |            |  legende 3
    |            |  | image2.jpg |
    |            |  |            |
    --------------  |            |
    legende1        |            |
                    |            |
                    --------------
                    legende 2
     
    --------------
    | image4.jpg |
    |            |
    --------------
    legende 4
    ou ça, en fonction de la place disponible en largeur (notez bien l'emplacement de image4.jpg dans l'exemple ci-dessus) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    --------------  --------------  --------------  --------------
    |            |  |            |  | image3.jpg |  | image4.jpg |
    |            |  |            |  |            |  |            |
    | image1.jpg |  |            |  --------------  --------------
    |            |  |            |  legende 3       legende 4
    |            |  | image2.jpg |
    |            |  |            |
    --------------  |            |
    legende1        |            |
                    |            |
                    --------------
                    legende 2
    J'ai oublié de précisé que j'avais fait le test dans mon premier post. C'est d'ailleurs la solution temporaire que j'utilise actuellement.[/code]

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  4. #4
    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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    alors là c'est un cas pour SIBELIUS ...

    j'aurais bricolé avec la taille des divs ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Je m'en remets à vous. Si j'ai bien compris les CSS, "display: inline-block" devrait résoudre mon pb, mais c'est frustrant de voir que seul IE y arrive !!!!

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  6. #6
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    As-tu toujours 4 images? Sont-elles toujours les mêmes? Je pense que la réponses aux deux questions est non. Si c'est le cas, cette formulation est-elle correcte? "mettre sur la même ligne autant d'images que possible selon la taille de l'écran et aller automatiquement à la ligne" (remarque je ne sais pas si ma formulation est claire...)
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  7. #7
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par franculo_caoulene
    "mettre sur la même ligne autant d'images que possible selon la taille de l'écran et aller automatiquement à la ligne"
    C'est tout à fait ça, sauf que je rajoute du texte en dessous des images. Sinon, effectivement, y a pas de pb car "<img ...> <img ...>" fait exactement ce que je veux. Du coup, ça résume bien mon pb : pouvoir ajouter du texte en dessous des images tout en conservant le mécanisme native "<img ...> <img ...>".

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

Discussions similaires

  1. Réponses: 15
    Dernier message: 20/07/2004, 09h22

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