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 :

Fixer la largeur d'un td avec first-child


Sujet :

Dimensionnement en CSS

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 613
    Points : 822
    Points
    822
    Par défaut Fixer la largeur d'un td avec first-child
    Bonjour,
    J'essaye de fixer la largeur de la première cellule d'une ligne de tableau et ça ne fonctionne pas.
    Voici le code source obtenu:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <tbody><tr><td>1</td><td>Rundes Waschbecken mit Auslass aus Büffelkopf – Wat Loeu – Tamlap</td><td>1931-05-21</td>/*...*/</tr></tbody>
    avec le CSS suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    .archeology td
    {
    	min-width:5rem;
    	max-width:27rem;
    }
    .archeology td:first-child
    {
    	width:2rem;
    }
    NOTE 1 : Je sais que c'est inhabituel mais je fixe volontairement les largeurs en rem pour que les colonnes se dimensionnent en fonction de la taille des caractères.
    NOTE 2 : Question posée après relecture de la page MDN.

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 613
    Points : 822
    Points
    822
    Par défaut
    J'ai trouvé une solution mais elle ne me satisfait pas car:
    • Elle est compliquée et lourde;
    • Je ne comprends pas pourquoi la solution en #1 ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    .archeology td:not(td:first-child)
    {
    	min-width:5rem;
    	max-width:27rem;
    }
    .archeology td:first-child
    {
    	width:2rem;
    }

  3. #3
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 476
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 476
    Points : 4 687
    Points
    4 687
    Par défaut
    tu dis a ton td d'avoir une taille minimal a 5rem, et apres tu veux lui donner une taille de 2rem. il te dira "non, la taille minimal est de 5rem"

    ta solution "lourde" fonctionne car du coup, tu cible les autres td comme ayant une taille minimal. tu es donc libre de setter ta taille a 2rem.

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    td {
      min-width: 2rem;
      max-width: 5rem;
    }
    td:first-of-type { min-width: 2rem; }
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 113
    Points : 44 936
    Points
    44 936
    Par défaut
    Bonjour,
    comme dit par Doksuri le min-width prendra le pas sur la width, dans ton premier code il suffirait de « supprimer » l'effet min-width :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    td {
      min-width: 5rem;
      max-width: 27rem;
    }
    td:first-child {
      width: 2rem;
      min-width: auto;   /* par exemple */
    }
    On pourrait également le faire à « l'ancienne », sans pseudo-classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    /* mode à l'ancienne */
    td {
      width: 2rem;
    }
    td + td {
      min-width: 5rem;
      max-width: 27rem;
    }

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

Discussions similaires

  1. Fixer la largeur des colonnes par prog ?
    Par marot_r dans le forum Access
    Réponses: 5
    Dernier message: 28/07/2006, 16h50
  2. Largeur d'un tableau avec l'attribut width, min-with
    Par weed dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 08/06/2006, 08h42
  3. fixer la largeur de fieldset
    Par kevinf dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 23/12/2005, 23h24
  4. Comment fixer les largeurs des colonnes d'un TStrinGrid
    Par marsupilami34 dans le forum Composants VCL
    Réponses: 6
    Dernier message: 24/08/2005, 13h24
  5. Fixer la largeur des colonnes d'une CListCtrl
    Par Depteam1 dans le forum MFC
    Réponses: 4
    Dernier message: 28/06/2005, 15h46

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