Rahmenbreite bei Tabellen mit CSS

Status
Nicht offen für weitere Antworten.

isowit

Mitglied
Ich habe ein Problem beim Festlegen der Rahmenbreite von Tabellen. Ich möchte, dass alle Rahmen zwischen den Zeilen genau 1pt breit sind. Von der ersten bis zur letzten.

Wenn ich aber nun die border auf 1pt setze dann ist der Rahmen zwar ganz oben und ganz unten richtig. Aber alle Rahmen zwischendrin sind doppelt so dick wie sie sein sollten. Ich nehme an beide Seiten werden addiert :(.
Wenn ich nun "border-bottom: 1pt;" nehme, dann fehlt ganz unten ein Rahmen. Wenn ich border-bottom: 1pt;" und "border-top: 1pt;" nehme habe ich wieder das selbe problem.
Ich habe versucht, dies durch :lastchild zu umgehen, allerdings wird lastchild ignoriert. Ich habe wieder das gleiche Problem wie oben.

Ich sitze bereits den ganzen Tag an diesem Problem und weis mir nict mehrzu helfen :(
 
Probiere es mal mit der Einheit px anstelle von pt:

Code:
table, th, td {
border: 1px solid #000;
}
 
Hi,

@michaelsinterface - neben der Pixelangabe ist sicherlich auch zu beachten, dass die Rahmen doppelt
gezeichnet werden, wenn sie so wie in deinem CSS definiert werden.

Erste Möglichkeit, die Rahmen nur einfach zu zeichnen - umständlicher, funktioniert aber in allen Browsern.
Code:
table{ border-top: 1pt solid #000;
       border-right: 1pt solid #000;}
table td{ border-left: 1pt solid #000;
          border-bottom: 1pt solid #000;}

Eine weitere Möglichkeit bietet border-collapse. Allerdings wird diese CSS-Eigenschaft nicht von allen
Browsern unterstützt (z.B. IE-Mac 5+ und ältere Netscapes).
Code:
table{ border-collapse: collapse;}
table, table.progressiv td{ border: 1pt solid #ff0;}

Ciao
Quaese
 
danke für eure antwort. ich habe herausgefunden warum es mit firstchild nicht geht. weil es first-child heißen muss mit bindestrich. der dumme fehler hat mich stunden geksotet. :rolleyes:
aber ich werde eure vorschläge auch mal versuchen. vielleicht gehts so einfacher :)
 
Bitte achte zukünftig in deinen Beiträgen auf die Groß- und Kleinschreibung, so wie du es in deinem Eingangsposting unter Beweis gestellt hast.
 
Eine Möglichkeit wäre auch, der Tabelle eine schwarze Hintergrundfarbe zuzuweisen und die borders komplett auf 0 zu setzen.
Dann stellst du ein cellspacing von 1px ein, und färbst die td's wieder in der ursprünglichen Hintergrundfarbe ein.
Damit bildet der schwarze Hintergrund einen 1px breiten Rahmen, der sich auch nicht summiert.
lg
 
Das ist eine interessante Idee! Muss man erst mal drauf kommen. Falls ich noch Probleme haben sollte werde ich es so probieren. Klingt auf den ersten Blick recht problemlos.
 
Status
Nicht offen für weitere Antworten.
Zurück