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 :

<table> en <div> et mes lignes ?


Sujet :

Tableau en CSS

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 7
    Points
    7
    Par défaut <table> en <div> et mes lignes ?
    Bonjour

    J'ai fait ça :



    Sachant que je construis dynamiquement la liste des données affichées et je voudrais mettre


    01.tototot | [date]
    02.tutututtt | [date]
    03.dazoed
    daedaed... | [date]

    c'est à dire que l'information date soit toujours à la même absisse dans ma page.
    J'ai donc réalisé deux "colonnes" à l'aide de <div> et de css... la première collonne reçoit le contenu et la deuxième les dates.
    Mais lorsque le contenu est sur deux lignes, les dates quant à elles ne sont pas sur deux lignes... et tout est décalé

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    div#nvl_main_content {
    	text-align:left;
    	float:left;
    	width:260px;
    	height:140px;
    	background-color:#33FF99;
    	}
    div#nvl_main_date {
    	float:left;
    	width:90px;
    	height:140px;
    	background-color:#33FF99;
    	}

    Peut-être n'a t'on pas besoin de 2 colonnes pour séparer le contenu de la date "proprement" ?

    Merci de vos pistes !

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Rajoute
    à div#nvl_main_content.

    Je tiens quand même à préciser qu'un id est unique.

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Si je rajoute clear:both dans div#nvl_main_content, tout le texte disparait
    En fait, je cherche à ce que les dates correspondent au texte qui est en face...
    Si je mets deux colonnes, les dates s'empilent les unes sous les autres sans pour autant savoir si le texte correspondant (a gauche des dates) a été mis sur 1 ou deux lignes.

    En changeant les couleurs pour montrer que j'utilise bien des id unique :


    J'aimerai que la 1ère date corresponde au champ 01.
    la deuxième au champ 02. et ainsi de suite.

    Code CSS : 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
     
    div#nvl_main {
    	float:left;
    	width:350px;
    	height:140px;
    	background-color:#33FF99;
    	}
    div#nvl_main_icone {
    	text-align:left;
    	float:left;
    	width:70px;
    	height:140px;
    	background-color:#438F79;
    	}
    div#nvl_main_content {
    	text-align:left;
    	float:left;
    	width:195px;
    	height:140px;
    	background-color:#43FF99;
    	}
    div#nvl_main_date {
    	float:left;
    	width:85px;
    	height:140px;
    	background-color:#330F69;
    	}

    Le nvl_main inclut : icone + content + date

    en fait, lorsque j'utilisais des tableaux, je pouvais mettre la date correspondant à son texte, dans la colonne suivante, sur la même ligne.
    Cependant, je n'ai plus cette notion de LIGNE
    Je dois m'y prendre mal

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Il faut que tu englobes, non pas le texte de gauche dans un seul div et les dates dans un autre, mais ligne par ligne.

    Tu mets dans un div, deux autre div tous les deux en float:left, ces deux div contiennent pour celui de gauche le text et celui de droite la date.

    Pour que le div d'en-dessous qui contient deux autres div, le texte 2 et la date deux se mettent correctement tu utilises clear:both sur ce div.

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Merci Bisûnûrs, j'essaierai ça... je craignais cette solution de créer autant de div que j'ai de données...

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    J'ai réussi à obtenir ça :



    Code CSS : 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
     
    div#nvl_main {
    	float:left;
    	width:350px;
    	height:140px;
    	background-color:#33FF99;
    	}
    div#nvl_main_icone {
    	text-align:left;
    	float:left;
    	width:20%;
    	height:100%;
    	background-color:#438F79;
    	}
    div.nvl_main_content {
    	text-align:left;
    	float:left;
    	width:55%;
    	height:20%;
    	background-color:#43FF99;
    	}
    div.nvl_main_date {
    	float:left;
    	width:25%;
    	height:20%;
    	background-color:#330F69;
    	}

    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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <div id='nvl_main'>
    			<div id='nvl_main_icone'></div>
    			<div>
    				<div class='nvl_main_content'>Content1......................................................................................................................</div>
    				<div class='nvl_main_date'>Date1</div>
    			</div>
    			<div>
    				<div class='nvl_main_content'>Content2</div>
    				<div class='nvl_main_date'>Date2</div>
    			</div>
    			<div>
    				<div class='nvl_main_content'>Content3</div>
    				<div class='nvl_main_date'>Date3</div>
    			</div>
    			<div>
    				<div class='nvl_main_content'>Content4</div>
    				<div class='nvl_main_date'>Date4</div>
    			</div>
    			<div>
    				<div class='nvl_main_content'>Content5</div>
    				<div class='nvl_main_date'>Date5</div>
    			</div>
     
    		</div>

    Sauf que le content1 qui est tres long avec les ......... est coupé par la colonne des dates qui apparait (à juste titre)
    Comment puis-je faire pour qu'un retour à la ligne s'effectue ?

    Merci

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Utilise

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    word-wrap: break-word;

  8. #8
    Futur Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    div.nvl_main_content {
    	word-wrap:break-word;
    	text-align:left;
    	float:left;
    	width:55%;
    	height:20%;
    	background-color:#43FF99;
    	}

    ne coupe pas le texte du content1......, le meme phenomene apparait.

    Décidement, le langage CSS est riche

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Alors si tu peux, utilise la fonction wordwrap() de PHP.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/01/2009, 22h47
  2. Comment empecher un Table d'elargir une DIV ?
    Par boutmos dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 14/01/2008, 21h17
  3. Table (3x3) avec des Div ?
    Par brolon dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 01/08/2007, 16h31
  4. Table html dans un Div
    Par youcef81 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 27/12/2006, 15h15

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