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 :

Combinaison td.colspan & tr.display:block


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut Combinaison td.colspan & tr.display:block
    Bonjour à tous.

    Voici un bout de code donnant des résultats différents sous IE7 d'une part, et sous Firefox3, Opera9, GoogleChrome-beta d'autre part :

    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
    <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
    <html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml" lang="fr">  
      <head>		 		     
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />		     
        <style type="text/css">
    	.line_one { background : lime; }
    	.line_two {background : red; }
        </style>
      </head>
      <body>    	  
     
        <table>			                                                           
          <tr class="line_one">				                                                   
            <td>colonne 1</td>                                                           
            <td>colonne 2</td>                                                  
          </tr>	
     
          <tr class="line_two" style="display: block;">			                     
            <td colspan="2">7777777777777777777</td>                                  
          </tr>			       
        </table>  
      </body>
    </html>
    Si j'enlève le display:block sur le tr, l'affichage est correct partout : la deuxième ligne s'étend sur toute la largeur du tableau. Si je le laisse, sous FF &co, la deuxième ligne ne s'étend que sur la largeur d'une colonne. Pourquoi ???

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Parce que la gestion des tableaux est différente sur ces navigateurs. Sur IE, les table, tr, td sont de type block, alors que sur Firefox ils sont respectivement de type table, table-row et table-cell.
    En forçant le tr à block, tu modifies le comportement sur ces navigateurs et donc ta ligne réagit de manière inattendue.

  3. #3
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Haaa, je ne connaissais pas ces types. Je croyais tous les éléments de type block ou inline. Merci pour l'info !

    Cela dit, c'est fort ennuyeux car ce n'est pas moi qui modifie le display de la sorte mais un framework javascript. Hmmmm hmmm... ça s'annonce difficile...

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Si tu as la main sur ce framework, en Javascript pour que le display reprenne sa valeur initiale sur tous les navigateurs, il suffit de lui donner la valeur vide :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    blabla.style.display = '';

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

Discussions similaires

  1. Display block et inline sur un lien
    Par Phenomenium dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 19/05/2006, 21h38
  2. [CSS][Firefox] prob de display:block sur un TR
    Par cyberzoide dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 04/05/2006, 11h37
  3. [CSS]Display:block sur un lien
    Par Phenomenium dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 22/04/2006, 15h42
  4. [CSS] Pb avec les display:block ..
    Par sokette dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 10/12/2005, 13h17
  5. [html+css] problème menu avec liens display:block
    Par Cypselos dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 28/08/2005, 09h39

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