2009-07-15 9 views
1

Ich habe einige ernste Probleme, die versuchen, mein Layout in einer Tabelle zu zwicken. Im Firefox bekomme ich merkwürdige Unter-/Auffüll-Inkonsistenzen mit dem gesamten Text. Sowohl in Firefox als auch in IE8 kann ich nicht scheinen, dass meine Icons auch vertikal in ihren Zellen zentriert erscheinen.CSS-Tabelle Zelle Polsterung Problem in Firefox und IE8

See wie folgt:

alt text http://www.graphicsdistrict.com/css-issue.png

Hier ist css meinen Tisch:

table.maxwidth { 
    width: 100%; 
} 

table.standard th { 
    color: white; 
    font: bold 0.85em Century Gothic; 
    padding: 0.6em; 
    background-color: #424E4F; 
} 

table.standard td { 
    padding: 0.2em 0.5em; 
} 

table.standard tr + tr > td { 
    border-top: 1px dotted #ccc; 
} 

table.standard th + th { 
    border-left: 1px solid white; 
} 

table.standard td + td { 
    border-left: 1px dotted #ccc; 
} 

table.standard > tfoot > tr > td { 
    border-top: 0.18em solid #424E4F; 
    padding: 0.2em 0.5em; 
} 

table.striped tr.alt td { 
    background-color: #eee; 
} 

table.hover tr:hover td { 
    background-color: #e0e0e0; 
} 

Hier HTML meinem Tisch:

<table class="standard maxwidth striped hover"> 

    <thead> 
     <tr> 
      <th class="left">Accessory</th> 
      <th class="center">Available</th> 
      <th class="right">Options</th> 
     </tr> 
    </thead> 

    <tbody> 

     <tr> 
      <td class="label"><a href="/mss/Accessory/Edit/4">Mains Charger</a></td> 
      <td class="center"> 

      <img src="/mss/Static/images/icons/tick.png" /></td> 
      <td class="right"> 
      <a href="/mss/Accessory/Archive/4" onclick="if(!confirm('Are you sure you want to archive this Accessory?')) return false;">Archive</a> 
      /<a href="/mss/Accessory/Delete/4" onclick="if(!confirm('Are you sure you want to delete this Accessory?\nRelated historical data and reports will be affected!')) return false;">Delete</a> 

      </td> 
     </tr> 

     <tr> 
      <td class="label"><a href="/mss/Accessory/Edit/3">Bluetooth Headset</a></td> 
      <td class="center"> 

      <img src="/mss/Static/images/icons/tick.png" /></td> 
      <td class="right"> 
      <a href="/mss/Accessory/Archive/3" onclick="if(!confirm('Are you sure you want to archive this Accessory?')) return false;">Archive</a> 

      /<a href="/mss/Accessory/Delete/3" onclick="if(!confirm('Are you sure you want to delete this Accessory?\nRelated historical data and reports will be affected!')) return false;">Delete</a> 
      </td> 
     </tr> 

     <tr> 
      <td class="label"><a href="/mss/Accessory/Edit/2">Car Kit</a></td> 
      <td class="center"> 

      <img src="/mss/Static/images/icons/tick.png" /></td> 

      <td class="right"> 
      <a href="/mss/Accessory/Archive/2" onclick="if(!confirm('Are you sure you want to archive this Accessory?')) return false;">Archive</a> 
      /<a href="/mss/Accessory/Delete/2" onclick="if(!confirm('Are you sure you want to delete this Accessory?\nRelated historical data and reports will be affected!')) return false;">Delete</a> 
      </td> 
     </tr> 

     <tr> 
      <td class="label"><a href="/mss/Accessory/Edit/1">Leather Phone Case</a></td> 

      <td class="center"> 

      <img src="/mss/Static/images/icons/tick.png" /></td> 
      <td class="right"> 
      <a href="/mss/Accessory/Archive/1" onclick="if(!confirm('Are you sure you want to archive this Accessory?')) return false;">Archive</a> 
      /<a href="/mss/Accessory/Delete/1" onclick="if(!confirm('Are you sure you want to delete this Accessory?\nRelated historical data and reports will be affected!')) return false;">Delete</a> 
      </td> 
     </tr> 


    </tbody> 
    <tfoot> 
     <tr> 
      <td colspan="3"><a href="/mss/Accessory/New">Add an Accessory</a></td> 
     </tr> 
    </tfoot> 
</table> 

Beachten Sie, dass der Abstand vor und/oder nach dem Inhalt der Zelle scheint das Problem auch nicht zu beeinflussen positiv oder negativ.

EDIT

die CSS ändern px Einheiten statt em fixiert die linke Spalte Text jog zu verwenden, aber die vertikale Bild Zentrierung Problem nicht lösen. Ideen?

EDIT 2

Es gibt jetzt eine Demonstration des Problems online here.

+0

Haben Sie einen Link zu einer Live-Probe davon? Es wäre hilfreich, in der Lage zu sein, in Firebug oder ähnlichem darüber zu modellieren. –

+0

Ok, fertig. Ich habe auf http://www.graphicsdistrict.com/css-issue/Accessory.htm –

+0

Oh gut, Poster legt das Bild auf seinem eigenen Server dann löscht es, wenn sein Problem gelöst ist. HILFREICH! – Ryan

Antwort

9

Das Bild ist vertically aligned auf der Basislinie so dass Raum für Unterlängen - nur für den Fall Sie Text hinzufügen. Vertikal auf den Boden ausrichten und der zusätzliche Raum geht weg.

td img {vertical-align:bottom;} 
+1

Genie! Danke :) –

+0

BRILLIANT! DANKE! – saike

2

Probieren Sie Pixel für Ihre Polsterung und Grenzen und sehen, ob das das Problem löst. Ich vermute, dass die Tatsache, dass Sie ems verwenden, einen seltsamen Rundungsfehler erzeugt, der den Unterschied von 4px/5px verursacht.

+0

Danke. Das Ändern auf Pixel hat die Inkonsistenz der Textpositionierung in der ersten Spalte behoben, löst aber nicht das Problem der vertikalen Zentrierung in der Iconspalte, obwohl ... –

+0

Es ist schwer zu erkennen, was sonst noch Probleme verursachen könnte. Wenn Sie die gesamte Seite irgendwo für mich überprüfen könnten, könnte ich vielleicht ein bisschen besser helfen.Es sieht so aus, als hätten Sie einige CSS-Klassen auf die Tabelle angewendet (z. B. Klasse "center"), die nicht in dem von Ihnen geposteten css reproduziert werden, also sollten Sie sich vielleicht anschauen, welche Regeln diese deklarieren? – Rahul

+0

Ich habe hier hochgeladen: http://www.graphicsdistrict.com/css-issue/Accessory.htm –

0
<td valign="middle"> 

Nicht der beste Weg, da Sie nicht CSS verwenden, aber es hat immer für mich funktioniert.

Werfen Sie einen Blick auf Zeile-Höhe CSS-Eigenschaft für Zelle. Wenn Ihre Zelle 20px hoch ist, setzen Sie die Zeilenhöhe auf 20px etc.

+0

Ich denke, du meinst Valign = "Mitte"? "center" wird nur bei horizontaler Ausrichtung verwendet. –

+0

Woops, du hast Recht. Habe das schon eine Weile nicht mehr benutzt und es scheint als hätte ich es vergessen;) – usoban

+0

In jedem Fall hat es das Problem nicht gelöst. Der css style vertical-align dupliziert den Effekt trotzdem. –

0

Versuchen Sie dies in Ihren Zellen, damit dies funktioniert, obwohl ich glaube, dass die Zellen eine bestimmte Höhe benötigen.

css vertical-align

+0

Das war von Anfang an da. –