2009-12-16 6 views
0

J'ai donc ce tableau http://mikepuerto.com/iNews/ -Firefox question de la hauteur CSS

J'utilise une jquery pour trier. Si vous affichez ceci dans n'importe quel navigateur mais Firefox, vous verrez que les en-têtes des tableaux ont une ombre en bas et quand vous cliquez sur un en-tête, une flèche pointe vers le bas pour indiquer que vous êtes en train de trier cette colonne. montre l'ombre et montre la flèche correctement ... Je l'ai réduit à quelque chose à voir avec la hauteur sur le "th". Avec la hauteur et le rembourrage sur le style suivant, cela fonctionne très bien sur la plupart des autres navigateurs ... Cela ne fonctionne que dans FF si je règle la hauteur à 69px; Des idées sur pourquoi cela se produirait?

table.interactiveData thead tr th { 
    color: #fff; 
    font-size: 10px; 
    font-weight: bold; 
    padding: 0 7px 16px 7px; 
    height: 54px; 
} 
+0

L'ombre échoue également dans le dernier opéra, FYI –

Répondre

2

On dirait que dans FF, c'est la première ligne du tableau après le th qui le recouvre.

Vous pouvez résoudre le problème en faisant en sorte que la première ligne de la table ne comporte pas de couleur d'arrière-plan et que vous puissiez ajouter une marge en haut de la page. Jetez un coup d'oeil maintenant.

La hauteur devrait vraiment être 70px puisque c'est la hauteur de l'image de fond. Le rembourrage n'a pas d'effet sur FF. Dans FF, les onglets ont l'air bien, alors dans les autres versions, vous devez juste vous assurer que l'arrière-plan est blanc.

Changez votre CSS dans la page à ce rembourrage-bas et padding-top ne fonctionne tout simplement pas dans FF en raison de tous les autres styles.

  #slim { 
      width: 580px; 
      margin: 0 auto; 
     } 
     /* tables */ 
     table.interactiveData { 
      font-family: "Lucida Grande", "Tahoma", "Franklin Gothic Medium", "Arial", Sans-serif; 
      background-color: ; 
      margin:10px 0pt 15px; 
      font-size: 10px; 
      width: 100%; 
      text-align: left; 
      border: 1px solid #dbdbdd; 
     } 

     table.interactiveData thead tr { 
      cursor: pointer; 
      background: url(http://mikepuerto.com/iNews/images/thead-bg.jpg); 
     } 
     table.interactiveData thead tr .headerSortDown, table.interactiveData thead tr .headerSortUp { 
      background: #fff url(http://mikepuerto.com/iNews/images/thead-hover-bg.jpg) center center no-repeat; 
     } 
     table.interactiveData tbody td { 
      padding: 7px; 
      vertical-align: middle; 
     } 
     table.interactiveData td.even { 
     } 
     table.interactiveData tr.odd { 
      background-color: #f3f3f3; 
     } 
     table.interactiveData td.sortedeven { 
      background-color:#edf8fa;   
     } 

     table.interactiveData td.sortedodd { 
      background-color:#edf1f2;    
     } 
     table.interactiveData thead tr th { 
      color: #fff; 
      font-size: 10px; 
      font-weight: bold; 
      height: 70px; 
    padding-left: 5px; 
    padding-right: 5px; 
     } 

Plus précisément, le #fff que la couleur d'arrière-plan pour remplacer le rouge.

table.interactiveData thead tr .headerSortDown, table.interactiveData thead tr .headerSortUp { 
     background: #fff url(http://mikepuerto.com/iNews/images/thead-hover-bg.jpg) center center no-repeat; 
    } 

Ensuite, réglez-le à une hauteur de 70px et ne définissez qu'une marge gauche et droite. Si vous voulez capitonner haut et bas, vous devrez les envelopper dans une travée ou aller un autre chemin.

table.interactiveData thead tr th { 
      color: #fff; 
      font-size: 10px; 
      font-weight: bold; 
      height: 70px; 
    padding-left: 5px; 
    padding-right: 5px; 
     } 

Fonctionne dans FF, Chrome, IE et Safari maintenant.

balisage complet

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

tables $ (document) .ready ( function() { $ ("# interactiveData") tablesorter ({widgets:. [Zèbre ',' columnHighlight ']}); }

  ); 
    </script> 

    <link rel="stylesheet" href="styles.css" /> 
    <style> 
     #slim { 
      width: 580px; 
      margin: 0 auto; 
     } 
     /* tables */ 
     table.interactiveData { 
      font-family: "Lucida Grande", "Tahoma", "Franklin Gothic Medium", "Arial", Sans-serif; 
      background-color: ; 
      margin:10px 0pt 15px; 
      font-size: 10px; 
      width: 100%; 
      text-align: left; 
      border: 1px solid #dbdbdd; 
     } 

     table.interactiveData thead tr { 
      cursor: pointer; 
      background: url(http://mikepuerto.com/iNews/images/thead-bg.jpg); 
     } 
     table.interactiveData thead tr .headerSortDown, table.interactiveData thead tr .headerSortUp { 
      background: #fff url(http://mikepuerto.com/iNews/images/thead-hover-bg.jpg) center center no-repeat; 
     } 
     table.interactiveData tbody td { 
      padding: 7px; 
      vertical-align: middle; 
     } 
     table.interactiveData td.even { 
     } 
     table.interactiveData tr.odd { 
      background-color: #f3f3f3; 
     } 
     table.interactiveData td.sortedeven { 
      background-color:#edf8fa;   
     } 

     table.interactiveData td.sortedodd { 
      background-color:#edf1f2;    
     } 
     table.interactiveData thead tr th { 
      color: #fff; 
      font-size: 10px; 
      font-weight: bold; 
      height: 70px; 
    padding-left: 5px; 
    padding-right: 5px; 
     } 

    </style> 
</head> 
<body> 
    <div id="slim"> 
    <table id="interactiveData" class="interactiveData" border="0" cellpadding="0" cellspacing="0"> 
     <thead> 
      <tr> 

       <th>Rank</th> 
       <th>Broker-Dealer</th> 
       <th>Website</th> 
       <th>Discretionary Assets</th> 
       <th>Discretionary Assets 2007</th> 
       <th>Difference in Discretionary Assets 2007-2009</th> 

      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td>1</td> 
       <td>data2b 
        <ul> 
         <li>item1</li> 

         <li>item2</li> 
         <li>item3</li> 
        </ul> 
       </td> 
       <td>1</td> 
       <td>data4d</td> 
       <td>data5e</td> 

       <td>data5e</td> 
      </tr> 
      <tr> 
       <td>2</td> 
       <td> 
        data1f 
        <ul> 
         <li>item1</li> 

         <li>item2</li> 
         <li>item3</li> 
        </ul> 
       </td> 
       <td>data2g</td> 
       <td>data3h</td> 
       <td>data4i</td> 

       <td>data4i</td> 
      </tr> 
      <tr> 
       <td>3</td> 
       <td>data2l 
        <ul> 
         <li>item1</li> 
         <li>item2</li> 

         <li>item3</li> 
        </ul> 
       </td> 
       <td>data3m</td> 
       <td>data4n</td> 
       <td>data5o</td> 
       <td>data5o</td> 

      </tr> 
      <tr> 
       <td>4</td> 
       <td>data2q 
        <ul> 
         <li>item1</li> 
         <li>item2</li> 
         <li>item3</li> 

        </ul>     
       </td> 
       <td>data3r</td> 
       <td>data4s</td> 
       <td>data5t</td> 
       <td>data5t</td> 
      </tr> 

      <tr> 
       <td>5</td> 
       <td>data2q 
        <ul> 
         <li>item1</li> 
         <li>item2</li> 
         <li>item3</li> 

        </ul> 
       </td> 
       <td>data3r</td> 
       <td>data4s</td> 
       <td>data5t</td> 
       <td>data5t</td> 
      </tr> 

      <tr> 
       <td>6</td> 
       <td>data2q 
        <ul> 
         <li>item1</li> 
         <li>item2</li> 
         <li>item3</li> 

        </ul> 
       </td> 
       <td>data3r</td> 
       <td>data4s</td> 
       <td>data5t</td> 
       <td>data5t</td> 
      </tr> 

     </tbody> 
    </table> 
    </div> 
</body> 

+0

je n'ai pas écrit le "styles.css" inclus;) juste les choses dans le html. Je le remets à quelqu'un d'autre ..... – mike

0

C'est le rembourrage qui est géré différemment. Dans Fx, le remplissage des cellules d'en-tête n'affecte pas la taille de la cellule, donc la hauteur est la 54px spécifiée.

Supprimez le paramètre de hauteur sur les cellules d'en-tête et spécifiez la hauteur 70px sur la ligne à la place.

1

Définissez la règle sur la table.interactiveData thead tr

background-position:bottom: 

qui suit celui que vous avez publié.

Edit: également sur la règle suivante vous avez besoin que (ou supprimer le centrage qui est là), donc tous ensemble, voici ce dont vous avez besoin:

 table.interactiveData thead tr { 
      cursor: pointer; 
      background: url(images/thead-bg.jpg); 
      background-position:bottom; 
      background-repeat:repeat-x; 
     } 
     table.interactiveData thead tr .headerSortDown, 
     table.interactiveData thead tr .headerSortUp { 
      background: url(images/thead-hover-bg.jpg) center bottom no-repeat; 
      /* changed to "center bottom", thanks Ryan */ 
     } 
+0

C'est la meilleure solution. Je pensais que c'était déjà en position basse. Encore plus simple est ces deux lignes arrière-plan: url (mikepuerto.com/iNews/images/...) centre en bas non-répéter; fond: url (mikepuerto.com/iNews/images/thead-bg.jpg) en bas; au lieu du centre. –

+0

Je n'aime généralement pas les attributs de raccourci qui ont des champs qui partagent la même valeur, puisque vous ne savez pas quel champ est pour quel style en le regardant sans connaître la réponse d'avant. Mais je l'ai utilisé ici maintenant parce que c'était dans le code original. –