Problem mit CSS und Tabellen

  • Hallo,


    ich habe eine kurze Frage:

    Ich möchte in meiner Tabelle einen Rand haben, einen sehr dünnen.
    Ich habe es bisher nur geschafft, dass die ganze Tabelle einen Rand hat,
    ich möchte es aber auch zwischen den Zeilen haben und zwischen den
    Zellen, so wie es halt mit border="1" aussieht, nur mit dünnen Strichen.

    Kann mir da jemand helfen?`
    Ich verzweifle langsam, da CSS garnicht mein Gebiet ist.

    Danke.


    Viele Grüße aus Hamburg.

  • Hi,

    versuch mal das cellspacing auf 0 zu setzen.

    Code
    <table border="1" cellspacing="0">...


    Wenn das nicht reicht, dann sag nochmal bescheid.

    gruss

  • zwischen den zellen und zeilen ?

    dann hilft dir css weiter:

    Code
    td { border:1px solid #f00; }

    btw. cellspacing hat mit rahmen garnix zu tun...

  • zwischen den zellen und zeilen ?

    dann hilft dir css weiter:

    Code
    td { border:1px solid #f00; }

    btw. cellspacing hat mit rahmen garnix zu tun...

    Ist mir klar, dass das damit nichts zu tun hat, aber er hat sonst doppelte Striche zwischen zwei Zellen, von jeder Zelle einen Rand, sofern cellspacing größer 0 ist...

  • dann machst halt

    Code
    td {border-right:1px solid #f00; border-top:1px solid #f00; }

    oder alternativ

    Code
    tr {border-top:1px solid #f00; }
    td {border-right:1px solid #f00; }

    mit cellspacing ziehst die tabelle nur unnötig in die höhe/breite

  • dann machst halt

    Code
    td {border-right:1px solid #f00; border-top:1px solid #f00; }

    oder alternativ

    Code
    tr {border-top:1px solid #f00; }
    td {border-right:1px solid #f00; }

    mit cellspacing ziehst die tabelle nur unnötig in die höhe/breite

    Aber nicht wenn cellspacing genullt ist.
    Deine zweite Lösung ist zwar sehr elegant, aber ich kann einfach nicht davon lassen. Wenn cellspacing nicht auf null steht, wird zwischen den Zellen ein Abstand eingefügt, d.h. wenn du Rahmen um die Zellen machst, dann hast du zwischen den Zellen eine kleine Lücke, die das cellspacing (default oder eben angegeben) darstellt.

  • Danke für die Antworten!

    Habe eine Klasse Lösung hier gefunden mit td { .. } bei CSS. :)

  • ist zwar schon zu spät, aber ich mach das immer so:

    Erst konzeptionell: Nicht die Zellen (TDs) haben border, sondern die Tabelle hat eine Hintergrundfarbe und ein cellspacing von 1. Dann einfach eine weitere Hintergrundfarbe für die Zellen definieren - et voila. Das gibt m. E. nach weniger Probleme zwischen den Browsern + du kannst z. B. auch eine Hintergrundgrafik mit Verlauf für den table definieren und der wird auf die (Fake)borders übertragen. Sieht cool aus ;)

    Ich glaube ein (minimalistisches) Beispiel sagt mehr als 1000 Worte:

    Einfach vollständig via Copy&Paste in eine Datei einfügen, als test.html speichern und auf den Browser per Drag&Drop fallen lassen (oder runterladen)

    Anbei die HTML-Datei als ZIP