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 :

float et retour a la ligne automatique


Sujet :

Tableau en CSS

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut float et retour a la ligne automatique
    Bonjoura tous.
    J'utile les div pour faire un tableau.
    J'affiche des lignes de n colonnes ( n varie dynamiuement). Je ne voudrais pas de retour a la ligne qui coupe ma ligne lorsque ma ligne depasse un certain nombre de colonne.
    C'est le le cas avec le code suivant:
    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
     
            #read_value
            {
                    float: left;
                    width: 80px;
                    height: 30px;
                    font-size: 10px;
                    margin-top: 0px;
            }
     
           #clear
            {
                    clear: both; 
            }
    HMTL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <div id="clear">
       <div id=""read_value">val0</div>
       <div id=""read_value">val1</div>
       <div id=""read_value">val2</div>
       <div id=""read_value">val3</div>
      .....
       <div id=""read_value">valn</div>
    </div>
    Alors comenyt pus je faire cela ?

  2. #2
    Membre confirmé Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Points : 607
    Points
    607
    Par défaut
    Salut

    Juste une petite question...
    Pourquoi utiliser des div pour faire un tableau ?!

    Sinon fais attention :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id=""read_value">val0</div>
    tu as un guillemet de trop :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="read_value">val0</div>
    J'ai peur qu'avec ta façon de procéder (div avec float:left au lieu d'un table), il soit très difficile d'éviter ces retours à la ligne !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    Merci pour ta reponse.
    Je suis une grosse merde en html / css.
    Mais je trouve quand meme beaucoup plus propre d'utiliser les css/div qu'un tableau ( maintenance du code / lecture ...). Je suis persudadé que c'est possible.
    Alors a votre bon coeur !

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 241
    Points : 267
    Points
    267
    Par défaut
    Salut,

    Je suis une grosse merde en html / css.
    LOL

    Bon 1ère petite chose à savoir c'est qu'un id doit être unique dans le document, quand il y a plusieurs ocucurences d'un identifiant on utilise class="read_value" et donc .read_value dans la css.

    Sinon tableau ou pas, ben ça dépend du contenu, soit <table> le structure de la manière la plus pertinente et dans ce cas c'est bien <table> qu'il faut utiliser, soit un autre balisage convient mieux et dans ce cas on l'utilise.

    MAIS !!!

    Quoiqu'il en soit on ne balise jamais un contenu avec une imbrication de <div> qui n'indique quasimment rien sur ce qui est balisé.

    En html la question n'est pas ce qu'on n'utilise pas, mais bien ce qu'on utilise. On cherche le balisage le plus pertinent et on l'applique.

    Dans ton cas ce pourrait très bien être une liste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <ul id="clear">
       <li class="read_value">val0</li>
       <li class="read_value">val1</li>
       <li class="read_value">val2</li>
       <li class="read_value">val3</li>
      .....
       <li class="read_value">valn</li>
    </ul>
    un dernier point concernant les identifiants multiples class=""

    quand la collection concernée, ici les <li>, est comprise dans un élément déterminé ici, <ul id="clear">, alors il est plus léger et économe d'utiliser le sélecteur d'enfants pour atteindre les élément.

    Donc :

    html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <ul id="clear">
       <li>val0</li>
       <li>val1</li>
       <li>val2</li>
       <li>val3</li>
      .....
       <li>valn</li>
    </ul>
    et css :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ul#clear li
            {
             float: left;
             width: 80px;
             height: 30px;
             font-size: 10px;
             margin-top: 0px;
            }

    Pour ta question initiale, si ton contenu est généré dynamiquement alors le mieux c'est de poser cette question dans le salon concernant la technologie employée, salon php si c'est fait en php par exemple.

  5. #5
    Membre confirmé Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Points : 607
    Points
    607
    Par défaut
    Citation Envoyé par mikebranque
    Mais je trouve quand meme beaucoup plus propre d'utiliser les css/div qu'un tableau
    Si c'est pour généré un tableau, je suis désolé de te le dire, mais le plus propre reste table. Le duo div/css et bien pour la mise en forme certe, mais pour un tableau, il existe des éléments (table, tr, td...). Il n'y a pas de mal à les utiliser quand cela est justifié.
    Citation Envoyé par clb56
    petite chose à savoir c'est qu'un id doit être unique dans le document
    +1
    Citation Envoyé par clb56
    Dans ton cas ce pourrait très bien être une liste
    Oui mais ça ne résout pas le problème
    Citation Envoyé par clb56
    Pour ta question initiale, si ton contenu est généré dynamiquement alors le mieux c'est de poser cette question dans le salon concernant la technologie employée, salon php si c'est fait en php par exemple
    Le problème vient de la mise en forme et non du contenu généré

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    Ok. Et bien je suis tres descu de devoir utiliser un tableau.
    J'avais lu des choses utopiques sur des sites sans tableaux.
    Mais bon ca sera plus simple pour moi de maniper des tableaux.
    Enfin je laisse quand meme le sujet ouvert car je reste persudadé que c'est possible !

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 241
    Points : 267
    Points
    267
    Par défaut
    Salut,

    Le problème vient de la mise en forme et non du contenu généré
    disons qu'il y a les deux choses

    . Le problème du choix du balisage html du document final, point difficile à décider tant qu'on ne connait pas précisemment le contenu. Et c'est le cas ici.

    . Le problème de pouvoir générer périodiquement une classe permettant de mettre en oeuvre le style interrompant l'effet du float:left; en rendu à l'écran.

    Le deuxième point se règle a priori au niveau du traitement coté serveur s'il s'agit bien de contenu généré.


    Effectivement parler de liste ne règle pas la question du choix de <table> ou pas. Mais ce n'était pas le sens de ma remarque qui ne faisait que pointer le fait que ne pas utiliser <table> ne doit pas se traduire par une profusion de <div> complètement injustifiée.


    Pour le dire autrement : même s'il ne s'agissait que de mise en page pour le rendu écran, l'opposition n'est pas tableaux vs div/css mais bien tableaux vs html pertinent/css.
    <table> pouvant bien effectivement être, suivant le contenu concerné, le html le plus pertinent.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    salut.
    Mon probleme n'a rien a voir avec la generation du code html.
    J'utlise du php qui genere les div du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach ( $responses as $response )
    {
       echo '<div class="id">'.$response.'</div>';
    }
    Ceci pour expliquer que mon probleme n'a aucun rapport avec la generation du code. Et ne pensez vous pas que si on arrive pas à traiter le probléme en static on ne le traitera jamais en dynamique ?

    Afin de recentrer le debat peut on faire cela en CSS sans utiliser de tableau ?

  9. #9
    Membre confirmé Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Points : 607
    Points
    607
    Par défaut
    Citation Envoyé par mikebranque
    Afin de recentrer le debat peut on faire cela en CSS sans utiliser de tableau ?
    Je ne pense pas mais peut-être que je me trompe (je ne suis pas Dieu, à mon grand regret).
    Dans ton PHP, ne peux-tu pas faire quelque chose comme
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo '<table><tr>';
    foreach ( $responses as $response )
    {
       echo '<div class="id">'.$response.'</div>';
    }
    echo '</tr></table>';
    pour arriver à une structure de tableau ? Auquel tu pourrais appliquer du css sans problème.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    Je ai recoder avec tableau et ca marche. Mais ce que je veux savoir est si on peu faire ca sans tableau.

Discussions similaires

  1. retour a la ligne automatique dans EditText Multiligne
    Par chlock62 dans le forum Android
    Réponses: 2
    Dernier message: 09/04/2014, 13h58
  2. overflow pour retour a la ligne automatique
    Par JavaPasCompris dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/06/2007, 12h05
  3. [Tableaux] retour a la ligne automatique
    Par cell dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2006, 11h48
  4. [RichEdit] Désactiver le retour à la ligne automatique
    Par chamamo dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/06/2006, 01h02
  5. [JOptionPane]retour à la ligne automatique ?
    Par Pill_S dans le forum Composants
    Réponses: 5
    Dernier message: 01/12/2004, 11h55

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