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 :

Des <li> en float sans débordement ?


Sujet :

HTML

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Par défaut Des <li> en float sans débordement ?
    Bonjour,

    Aujourd'hui, une question sur les listes.
    CE QUE JE VEUX FAIRE
    J'ai des <li> organisés dans un <ul> (normal jusque là), positionnés en float, ce qui fait qu'ils se retrouvent sur plusieurs lignes (voir le screenshot pour l'exemple).
    La hauteur de ces <li> varie en fonction du contenu (on entre un texte).



    CE QUI SE PASSE

    Le comportement observé dans la première image s'applique lorsque l'on rentre un texte dans le deuxieme <li> de la rangée, ou tous les <li> de la dernière rangée. Je vous explique pourquoi un peu plus loin.

    Le problème que j'ai, c'est pour le premier <li>. Voilà ce qui se passe:



    Vous aurez reconnu un probleme courant avec les floats, c'est à dire qu'il manque un clear:both sous la première rangée pour aligner tout ce petit monde.

    Si ce problème n'apparait pas pour les éléments de la dernière rangée, c'est qu'il y a effectivement un "footer" clear: both à la fin.

    LES QUESTIONS QUE JE ME POSE

    Si on refléchi bien, il suffirait de rajouter un <div> ou un <hr> clear: both tous les 2 éléments pour palier au problème. Ceci marche sous FF mais petit problème sous IE.
    Mais ce n'est pas là ou je veux aller. En effet, les éléments <li> doivent etre ABSOLUMENT SEULS dans le<ul> car tous ces éléments "bougent" dans le DOM (avec un peu de javascript, API "tool-man" pour ceux qui connaissent).

    Donc pas possible de rajouter des éléments.

    Questions:
    1/ Pourquoi est-ce que ca fonctionne correctement avec le deuxième élément d'une rangée (comme illustré dans la première image) ? Intuitivement, je m'attendais à ce que ça foire...

    2/ Comment résoudre le problème illustré dans la seconde image an utilisant uniquement des propriété de style pour l'élément <li> ?

    En espérant que l'on puisse trouver une réponse ensemble sweatdrop
    Merci d'avance ! biggrin

    CODE

    HTML:
    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
     
    <ul class="graphescontainer">
      <li>
        <div class="handle"><span class="edittitle">$varname</span></div>
          <object type="application/x-shockwave-flash" 
             bla bla bla   
          </object>
          <div class="edittext">Click here to add text</div>
       </li>
     
       ...
       Repeter 4 fois le <li>
       ... 
     
    </ul>
    <div class="clear"></div>
    CSS:
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    .graphescontainer
    {
      list-style-type: none;
      width: 100%;
      padding: 0px;
      margin: 0px;
    }
     
    .graphescontainer li
    {
      border: 1px solid #333333;
      margin: 3px;
      position: relative;
      float: left;
      width: 49%;
    }
     
    .graphescontainer li .handle
    {
      cursor: move;
      background-color: #333333;
      color: #FFFFFF;
      width: 100%;
      border: none;
      padding: 0px;
      margin-top: 0px;
      text-align: center;
      font-weight: bold;
      padding-bottom: 1px;
    }
     
    div.edittext
    {
      margin-top: 5px;
      cursor: text;
      text-align: left;
      padding: 3px;
      padding-top: 2px;
      background-color: #FFFFE1;
    }
     
    .clear
    {
      clear: both;
    }
    Images attachées Images attachées   

Discussions similaires

  1. Comment avoir des div sur une même ligne sans utiliser float ?
    Par Sergejack dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 13/10/2007, 15h31
  2. Réponses: 4
    Dernier message: 18/03/2006, 20h34
  3. Type float sans virgule !!
    Par HULK dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 25/01/2006, 10h59
  4. Réponses: 5
    Dernier message: 02/11/2005, 11h49
  5. Saisie d'un entier sans débordement
    Par SteelBox dans le forum C
    Réponses: 8
    Dernier message: 28/10/2005, 14h18

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