ich möchte eine Tabelle erstellen, mit folgenden HTML-Code:
[HTML]
test
test
test
test
test
test
[/HTML]
Da ich einen Mac habe, ist mein Browser Safari und da funktioniert alles super. Jedoch im IE werden die colspans gar nicht angenommen, die Tabelle wird nicht richtig dargestellt.
Was kann ich denn machen, dass es in beiden Browsers richtig erkannt wird?
Ich habe noch nicht davon gehört, dass der IE kein colspan kann. Er kann vieles nicht und insbesondere mit CSS steht er auf dem Kriegsfuß, aber das sollte er schaffen. Meistens liegen solche Probleme im unvollständigen Verständnis von Tabellen. Gibts das als Link, da sieht man mehr als im Code.
In Deinem Beispielcode sehe ich keinen Grund für eine Tabelle, bist Du sicher, dass Du nicht Tabellen zu Layoutzwecken missbrauchst?
Bei meinem Safari wird die Seite richtig angezeigt, jedoch beim IE und im FF auch nicht. Schaut’s euch mal an. Ich habe ne Testtabelle mit dem Prinzip unter folgender Seite erstellt: http://voice-of-music.de/test.php hier könnt ihr noch einmal das Problem ohne Layout sehen.
Die richtige Adresse scheint zu sein http://www.mukh.de/vom
Da sehe ich keine tabellarischen Daten. Deine Tabelle ist also hier fehl am Platze. Entferne sie.
Dann sind Deine Probleme auch weg.
Aber zugegeben, die Tabelle verhält sich jetzt nicht so, wie ich das erwarten würde. Da muss irgendwo noch ein Fehler drinstecken, den ich grad nicht erkenne.
Voice of Music
a {color:#666666; text-decoration:none;}
a:hover {color:#e36c0a;}
body {cursor:default; background:url(template/vom_background.jpg); background-repeat:repeat-x; font-size:13px;}
div.nav a.mark {color:#e36c0a;}
div.main {width:590px; padding-bottom:50px;}
div.main p {padding:0; margin:0;}
Ja klar, sie werden erkannt als das Tag, das tabellarische Daten einleitet.
deshalb verwende ich diese auch für ein Layout, wogegen nichts spricht.
Doch, alles. Allein schon der Sinn von HTML - das hat nämlich nichts mit dem Aussehen zu tun. Für Layout gibt es CSS. HTML ist nur für die Semantik - und die hast Du hier falsch gesetzt.
Wenn ich normales CSS verwende müsste ich mit div-tags arbeiten
Quatsch. Wer Dir sowas erzählt hat, hat Dich an der Nase herumgeführt.
Wenn Du Layout mit CSS machst, dann brauchst Du eine valide und semantisch sinnvolle Basis aus HTML.
div ist ein Tag zum Auszeichnen von logischen Gruppen. Sonst nichts.
Layout mit divs gibts genausowenig wie Layout mit Tabellen!
und die werden von jedem Browser anders erkannt. Deshalb eine Tabelle.
Völliger Quatsch, sorry. Jeder Browser erkennt ein
als logische Gruppe.
Du wirfst HTML und CSS völlig durcheinander.
Es spricht einiges dagegen. HTML ist eine Auszeichnungssprache und nur dafür da, deinem Inhalt eine Bedeutung zu eben. HTML ist nicht für das Layout zuständig. Du erstellst also ein Seite, in der jeder Inhalt als tabellarische Daten interpretiert wird. Dies ist falsch und du hast HMTL noch nicht richtig verstanden.
Wenn ich normales CSS verwende müsste ich mit div-tags arbeiten und die werden von jedem Browser anders erkannt. Deshalb eine Tabelle.
Das ist Unsinn. Wenn du deinem Dokument einen aktuellen, gültigen Doctype gibst, deinen Inhalt vernünftig und valide auszeichnest, macht das CSS keine Probleme. Ausserdem macht man das Layout auch nicht mit div. Man verwendet das Tag, das deinen Inhalt am besten beschreibt. HTML kennt mehr als nur
Mag ja sein, dass das für Dich ein Grund ist, aber in Wahrheit ist das so alles schlichtweg falsch. Du hast ein falsches Verständnis von HTML & CSS und damit lässt sich natürlich ganz einfach ein Grund für Tabellen konstruieren. In der realen Welt gibt es aber keinen solchen Grund.
Naja man kann HTML trotzdem dazu verwenden, was stört es euch denn wie ich meine Seiten schreibe, ich hab damit super Erfahrungen gemacht. Könnt ihr mir bitte einfach sagen warum das im IE und FF nicht richtig erkannt wird?
Es stört jeden Nutzer, der Deine Site benutzen muss.
Es stört Suchmaschinen, weil Dein Inhalt so ziemlich komisch erscheint und Suchmaschinen sowas schlechter bewerten könnten.
Es stört Blinde, die sich die Inhalte vorlesen lassen und komplexe Tabellenlayouts dann falsch vorgelesen werden.
Außerdem erhöht es die Ladezeiten, weil Du auf jeder Seite das Layout mitladen musst, anstatt es in einer externen CSS-Datei zu haben.
Es ist für Dich viel schwieriger das Layout zu ändern, weil Du es in jeder Datei ändern musst.
uvm.
Und: Es ist einfach sinnfrei.
Mach es weg und lerne HTML. Du wirst staunen, wie einfach HTML ist, und wie schön HTML und CSS Hand in Hand gehen, wie leicht alles wird, wenn man es nur richtig macht.
Da man selbst auf der Seite „ohne Layout“ sehr schön sieht, dass FF die Tabelle falsch darstellt, vermute ich einen Bug.
Ich habe bisher diese Probleme nie gehabt. Ich habe angenommen, Du kämest vielleicht mit Tabelle nicht ganz zurecht, ist ja auch nicht ganz einfach, aber ich hätte das Verhalten genauso erwartet, wie Du auch.
Das heißt, für Dein „Tabellenlayout“ gibts keine Lösung. Vielleicht ist das einfach nur ein Wink des Schicksals, dass Du Dich jetzt richtig mit HTML & CSS befassen sollst. Hilfe bekommst Du hier genug. Wollen musst Du alleine. Aber Deine Besucher werden es Dir danken.
Naja mit CSS muss ich dann auf jeden Fall mit position, padding, margin, left, right, etc. arbeiten, egal was für ein HTML Element. Das habe ich bis vor kurzem getan, doch bei jedem Browser wurde alles immer anders erkannt. Ich habe ewig gebraucht, bis ich jede Seite passend für alle Browser gemacht habe, oft auch verschiende CSS-Dateien. Um dieses Problem zu umgehen, habe ich auf Tabellen umgewechselt.
Wie kann ich das noch anders mit CSS machen, ohne die oben genannten Eigenschaften?
Da ich außerdem noch mit php arbeite, muss ich die Seite nicht mehrmals bearbeiten bei einer Änderung.
Margin, padding und float sind wohl die wichtigsten Eigenschaften wenn es um das Positionieren geht. Du solltest also nicht versuchen, sie zu meiden.
Häufig gemachte Fehler, die zu unterschiedlichen Darstellung führen sind:
[ul]
[li]Fehlender, oder falscher Doctype,
[/li][li]kein CSS-Reset der vorgegebenen Browsereinstellungen durchgeführt,
[/li][li]unsauberes, nicht valides HTML,
[/li][li]unsauberes, nicht valides CSS.
[/li][/ul]
Da ich außerdem noch mit php arbeite, muss ich die Seite nicht mehrmals bearbeiten bei einer Änderung.
PHP hat grundsätzlich nicht mit der Trennung von Inhalt und Layout zu tun, ist also kein Grund, auf Tabellen zurückzugreifen.
Lies dir den Link den ich dir gegeben habe, aufmerksam durch, dann werden viele deiner Fragen geklärt.
Naja wie schon gesagt mein großes Problem besteht eben darin, dass margin, padding, float von jedem Browser anders erkannt werden, und alles immer etwas anderes positioniert wird. Genau das ist das große Problem weil man ewig braucht, bis die Seite passt. Außerdem sind meine Seiten weder mit fehlendem noch falschen Doctype, auch das CSS und HTML sind valide, ich habe schon oft in Foren geschrieben und keiner konnte mir bei meinen Problemen behilflich sein.
Das mit dem php habe ich nur aus diesem Grund erwähnt:
Es ist für Dich viel schwieriger das Layout zu ändern, weil Du es in jeder Datei ändern musst.
Ich weiß jetzt trotzdem nicht wirklich wie ich die Sache angehen soll. Ihr habt euch die Seite sicherlich layouttechnisch angeschaut, welche html-Elemente soll ich denn hauptsächlich verwenden um Komplikationen mit Browsern, etc. zu vermeiden? Hauptsächlich n paar divs mit margin, padding, float, width, height…?