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 :

CSS DIV dans un tableau


Sujet :

HTML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 58
    Points
    58
    Par défaut CSS DIV dans un tableau
    Bonjour
    J'ai un tableau avec plusieurs lignes.
    Je voudrais appliquer à la premiere ligne un bloc CSS (bloc-ligne1)
    et aux autres lignes donc à partir du premier </TR> un autre bloc CSS (bloc-ligne2)
    Mais cela ne marche pas c'est toujours bloc-ligne1 qui s'applique.
    Si quelqu'un peut m'aider, par avance merci
    Cordialement
    jcp

    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     
             "http://www.w3.org/TR/html4/loose.dtd">
     
    <html>
     
    <STYLE TYPE="text/css" media="screen">@import url(corps.css);</STYLE>
     
    </HEAD>
     
    <body>
     
    <DIV CLASS="bloc-ligne1"><TABLE border="1"><TR>
    <TD><A>Nom</A></TD>
    <TD><A>Prénom</A></TD>
    <TD><A>Commune</A></TD></TR>
    </DIV>
    <DIV CLASS="bloc-ligne0">
    <TD><A>Dupont</A></TD>
    <TD><A>Pierre</A></TD>
    <TD><A>Pierre</A></TD></TR>
    <TD><A>Dupont</A></TD>
    <TD><A>Pierre</A></TD>
    <TD><A>Pierre</A></TD></TR>
    <TD><A>Dupont</A></TD>
    <TD><A>Pierre</A></TD>
    <TD><A>Pierre</A></TD></TR>
    </DIV>
    </TABLE>
    </html>
    Mais cela ne marche pas.

  2. #2
    Membre émérite Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Points : 2 589
    Points
    2 589
    Par défaut
    Salut,

    La construction que tu proposes n'est pas bonne, tu ne peux mettre des <div> comme cela dans un <table>.

    Si tu veux vraiment "encadrer" la première ligne de ton <table>, je dirai qu'il faut que tu fasses 2 tableau distinct.

    Dans l'idée, je verrais plus quelque chose comme cela :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div>
    <table><tr><td>La 1ere ligne</td></tr></table>
    </div>
    <div>
    <table>
    <tr>
    <td>Ligne2</td>
    <td>Ligne3</td>
    <td>Ligne4</td>
    </tr>
    </table>
    </div>

    Objectif de l'encadrement du <table> dans un <div> ?

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    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 893
    Points : 16 347
    Points
    16 347
    Par défaut
    @HiRoN : Les colonnes risquent de ne plus correspondre dans ton cas, si le contenu du second tableau est plus important.

    On peut utiliser les balise thead et tbody pour corriger le problème :

    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
    <table>
       <thead>
          <tr>
             <th>Colonne 1</th>
             <th>Colonne 2</th>
             <th>Colonne 3</th>
          </tr>
       </thead>
     
       <tbody>
          <tr>
             <td>Valeur 1</td>
             <td>Valeur 2</td>
             <td>Valeur 3</td>
          </tr>
          <tr>
             <td>Valeur 4</td>
             <td>Valeur 5</td>
             <td>Valeur 6</td>
          </tr>
       </tbody>
    <table>
    Et mettre les styles sur les balises tr des balises thead et tbody.

  4. #4
    Membre émérite Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Points : 2 589
    Points
    2 589
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    @HiRoN : Les colonnes risquent de ne plus correspondre dans ton cas, si le contenu du second tableau est plus important.
    Même si on applique respectivement la même class sur chaque <td> de chaque tableau (class fixant la largeur de tel ou tel colonne) afin d'avoir la même largeur de partout ?

  5. #5
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Pour compléter le code de Bisunurs en vu d'une amélioration de l'accessibilité du tableau et d'un meilleur référencement de son contenu, il est bon d'ajouter certains élément/attribut.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <table summary="description du tableau et de son fonctionnement">
    <caption>titre du tableau (a défaut d'un titre Hn en amont du tableau)</caption>
       <thead>
          <tr>
             <th scope="col">Colonne 1</th>
             <th scope="col">Colonne 2</th>
             <th scope="col">Colonne 3</th>
          </tr>
       </thead>
    L'attribut summary pourra être lu par un logiciel de synthèse vocale pour des personnes non voyante, et ne pas oublier l'attribut scope pour que les
    navigateurs non-visuels puissent comprendre le sens de ce tableau.

    EDIT J'avais oublié: jcp pour des raison de compatibilité ascendante habitues toi à la syntaxe XML, et met tes balises en minuscule.
    D'autre part il te manque certaines meta dans le head (entre autres)

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 58
    Points
    58
    Par défaut
    Merci à tous et particulièrement à Bisunurs. Grand merci aussi pour les énormes tutoriels pour apprendre CSS !
    Avec les thead et tbody c'est tout à fait ce que je souhais.
    Merci
    Cordialement
    jcp

  7. #7
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    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 893
    Points : 16 347
    Points
    16 347
    Par défaut
    Citation Envoyé par HiRoN Voir le message
    Même si on applique respectivement la même class sur chaque <td> de chaque tableau (class fixant la largeur de tel ou tel colonne) afin d'avoir la même largeur de partout ?
    Malgré une taille fixe sur les cellules, le propre d'un tableau est de s'adapter en fonction de son contenu. Donc si le contenu ne dépasse pas cette largeur, il n'y a pas de problème, mais à partir du moment où le contenu est important, les cellules vont s'adapter.

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

Discussions similaires

  1. div dans un tableau
    Par kaking dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 14/10/2008, 14h33
  2. Superposition de div dans un tableau
    Par fitz182 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 24/10/2007, 22h22
  3. [CSS] Taille d'une boite DIV dans un tableau
    Par Seth77 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 14/06/2006, 19h17
  4. [CSS] Scrollbar dans un tableau
    Par jehlg dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 27/03/2006, 10h31
  5. [CSS] Menu dans un tableau
    Par Pepito dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 12/11/2005, 12h41

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