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

Mise en page CSS Discussion :

Faire passer une liste horizontale à la ligne


Sujet :

Tableau en CSS

  1. #1
    Membre du Club Avatar de Gizmil
    Profil pro
    Inscrit en
    Août 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 163
    Points : 60
    Points
    60
    Par défaut Faire passer une liste horizontale à la ligne
    Salut,

    J'ai une liste dont les <li> sont tous en float:left

    Problème: j'aimerais que, passé 5 éléments de la liste, ce qui suit passe à la ligne. Donc, comme ceci:

    elementListe-elementListe-elementListe-elementListe-elementListe
    elementListe-elementListe-elementListe-elementListe-elementListe
    elementListe-elementListe-elementListe-elementListe-elementListe
    elementListe-elementListe-elementListe-elementListe-elementListe

    J'ai tenté d'affecter une valeur de largeur sur le <ul> ainsi que sur une <div> renfermant la liste, pensant que ça forcerait les éléments à passer à la ligne. Résultat: c'est l'inverse qui se produit, les éléments de la liste forcent le contener à s'agrandir au delà de la largeur fixée.
    J'ai essayé clear:both mais seul l'élément ayant reçu cette affectation passe à la ligne.

    Bref, comment faire pour avoir le résultat indiqué ci-dessus? Merci!

    EDIT: Désolé, je me suis trompé de section, merci aux modos de bien vouloir transférer ce post dans le forum CSS...

  2. #2
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 181
    Points : 199
    Points
    199
    Par défaut
    Salut,

    Il suffit de mettre une classe toutes les 5 balises <li>, et d'appliquer un clear: left sur cette classe pour forcer le retour à la ligne.

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    li
    {
    	float: left;
    }
    li.newline
    {
    	clear: left;
    }

    Code XHTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <ul>
    	<li>élément liste</li>
    	<li>élément liste</li>
    	<li>élément liste</li>
    	<li>élément liste</li>
    	<li>élément liste</li>
    	<li class="newline">élément liste</li>
    	<li>élément liste</li>
    	<li>élément liste</li>
    	<li>élément liste</li>
    	<li>élément liste</li>
    	<li class="newline">élément liste</li>
    	<li>élément liste</li>
    </ul>

    Cependant je ne trouve pas ça très élégant, il faudrait peut-être songer à réorganiser la structure de tes éléments (avec un tableau, ou alors en les découpant en plusieurs listes de 5 éléments, etc.).
    <3 Debian
    [ C | C++ | PHP | Python ]

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    En faisant ça je n'ai aucun problème :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <ul>
       <li>Texte</li>
       <li>Texte</li>
       <li>Texte</li>
       <li>Texte</li>
       <li>Texte</li>
       <li>Texte</li>
       <li>Texte</li>
       <li>Texte</li>
       <li>Texte</li>
       <li>Texte</li>
       <li>Texte</li>
       <li>Texte</li>
    </ul>

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ul{
       width:500px;
    }
    li{
       width:100px;
       float:left;
    }

  4. #4
    Membre du Club Avatar de Gizmil
    Profil pro
    Inscrit en
    Août 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 163
    Points : 60
    Points
    60
    Par défaut
    Oui, Bisûnûrs est dans le vrai!

    Me suis bien planté sur ce coup-là! Faut vraiment que j'apprenne à être plus attentif! J'avais fais une erreur dans mon code...

    Bref, désolé de vous avoir dérangé alors que le problème était ailleurs...

    Vous avez gagné le droit de me faire ça:

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

Discussions similaires

  1. [xsl / Php] faire passer une variable XSL en PHP
    Par klowlead dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 24/05/2006, 12h59
  2. Réponses: 6
    Dernier message: 12/04/2006, 16h46
  3. Faire passer une table en paramètre pour une procedure
    Par samplaid dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/02/2006, 11h26
  4. faire passer une variable d'une fct js à une page php
    Par harlock59 dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2005, 14h41
  5. Réponses: 10
    Dernier message: 21/04/2005, 10h00

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