• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Tabelle wird durch breite Elemente Verschoben

Status
Für weitere Antworten geschlossen.

MikelStyle

Neues Mitglied
Guten Tag zusammen,

Ich steh vor einem für mich unlösbaren Probelm...

Ich hab ne homepage die auf ner Tabelle aufbaut.
In Firefox wird sie so dargestellt wie ich mir das vorstelle.
Der IE verzieht das ganze jedoch völlig

Dann hab ich herausgefunden, dass dies von der Objektbreite innerhalb einer Zeile, bei welcher 3 Zellen verbunden sind.

Wenn ich jetzt das Bild oder Iframe oder Objekt, sei es Flash oder sonst irgendetwas in der Breite verändere, verändern sich auch die Breiten der untenliegenden Zeilen.

Die Struktur ist so, dass die ganz linke und ganz rechte Spalte fix definiert sind (in Pixel) und sich die Spalte mit dem Textinhalt in der Mitte der Fensterbreite anpasst.

Hier noch ein Beispielcode, wie das dann aussehen sollte, Ihr könnt ja mal probieren das Iframe etwas zu verbreitern, und schon verschieben siech die Breiten des unteren Contents.

Hat jemand Abhilfe zu diesem Problem??

<html>

<head>
<meta http-equiv="Content-Language" content="de-ch">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Neue Seite 3</title>
</head>

<body bgcolor="#0000FF">

<table border="0" width="100%">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table width="90%" align="center" style="border:2px solid #808080; border-collapse:collapse" width="100%">
<tr>
<td colspan="3" bgcolor="#000000">
<p align="center">
&nbsp;<p align="center">
<iframe name="I1" width="401" height="150" src="">
Ihr Browser unterstützt Inlineframes nicht oder zeigt sie in der derzeitigen Konfiguration nicht an.
</iframe>
<p align="center">
&nbsp;</td>
</tr>
<tr>
<td width="200" bgcolor="#C0C0C0">&nbsp;</td>
<td bgcolor="#C0C0C0">
Hier Kommt das Sub-Menü</td>
<td width="100" bgcolor="#C0C0C0">&nbsp;</td>
</tr>
<tr>
<td height="248" width="200" bgcolor="#FFFF00">Hier kommt das Top-Menü</td>
<td height="248" bgcolor="#FFFFFF">Hier kommt Inhalt</td>
<td height="248"width="100" bgcolor="#FFFF00">Hier kommt der Sponsor</td>
</tr>
<tr>
<td colspan="3" bgcolor="#C0C0C0">
<p align="center">hier kommt das Copyright oder so...</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>

</body>

</html>
 
Ich hab ne homepage die auf ner Tabelle aufbaut.
Das ist unlogisch. Das solltest Du ändern. Tabellen verwendet man, um tabellarische Daten auszuzeichnen. Layout macht man mit CSS.

Wenn ich jetzt das Bild oder Iframe oder Objekt, sei es Flash oder sonst irgendetwas in der Breite verändere, verändern sich auch die Breiten der untenliegenden Zeilen.
Das ist ein Feature von Tabellen. So soll das ja auch sein bei tabellarischen Daten. Du verwendest gerade ein Bobbycar (oder auch Suppenlöffel ;-)), um auf der Autobahn zu fahren. Wenn Du ein geeignetes Mittel verwendest, wirst Du Dein Ziel auch erreichen. Tabellen sind hier das falsche Mittel.

Ihr könnt ja mal probieren das Iframe etwas zu verbreitern
Weißt Du, warum der iframe "iframe" heißt? Weil man bei Frames nur sagen kann "I - Frames!" Im Ernst, falls Du es nicht weißt, Frames haben nur Nachteile für den Nutzer, Du solltest darauf verzichten.

Hat jemand Abhilfe zu diesem Problem??
Richtiges HTML.

In Deinem Code fehlt außerdem der Doctype.
Und Du verwendest old-fashioned (1190er Jahre) Attribute, um Layout/Design festzulegen. CSS gibts schon seit 10 Jahren, wie kommt es, dass Du davon noch nichts gehört zu haben scheinst?
Der HTML-Code enthält darüberhinaus einige massive Fehler. Lass ihn validieren: The W3C Markup Validation Service

Viel Erfolg,
-Efchen
 
*grins*

Mir war garnicht bewusst wie lange es schon Computer bzw. das Internet gibt!?

:lol:

Liebe Grüße
icon12.gif


iplay
 
Na, da siehst Du mal, wie alt ich bin...mit über 800 Jahren Internet-Erfahrung! *grins*
 
Hallo Efchen

Natürlich kenne ich CSS und es ist bei der eigentlichen Homepage auch implementiert.

Ich habe nur in Frontpage den aufbau schnell nachgebaut um zu schauen was dabei rauskommt, ob evt die PHP Layoutdatei die Tabellen nicht richtig aufbaut.
Zudem ist der HTML Code aus dem CMS noch nicht sehr übersichtlich.

Ich weis schon was ein Iframe ist und was für Nachteile es mir bietet, ich hab nur gerade das als beispiel genommen, das Problem tritt auch auf wenn ich ein breites Bild an dieser stelle einfüge...
Auf der eigentlichen Seite kommt da ein Flash objekt rein.
 
Das heißt, Du hast das Problem erkannt, das die Tabellen da fehl am Platze sind?
 
Das schon, nur erlaubt mir die Zeit im Moment nicht, das ganze so anzupassen...
Ich dachte es gibt vielleicht eine lösung, damit ich übergansmässig die ganze Breite dieser verbundenen oberen Zelle für irgendwelchen Inhalt verwenden kann. Firefox macht mir hier nähmlich keine Probleme...

Bei Zeit und Gelegenheit (warscheinlich in den nächsten Semesterferien) wird natürlich das Ganze Layout angepasst, was aber für einen "Amateur" Homepageprogrammierer einige Stunden mehr Aufwand braucht als für einen Profi...
 
Komisch ist nur, dass es "Amateure" immer wieder schaffen, sich HTML und CSS völlig falsch beizubringen. Da ist der Zeitaufwand dann aber für jeden hoch, das umzustellen. Würde man es von Anfang an richtig machen, hätte man ganz ganz viel Zeit gespart, die man dann an der Stelle, wo Du jetzt stehst, nicht mehr hat.

Du musst Dich fragen, was Deine Website leisten soll. Wenn sie gut sein soll, dann bau sie um. Du stehst ja ohnehin an einem für Dich unlösbaren Problem. Also anstatt zu warten, dass jemand mit ner Übergangslösung rauskommt und Du Dich anschließend vielleicht mit dem nächsten Übergangsproblem rumquälst, hättest Du die Zwischenzeit schon sinnvoll nutzen können.
 
Hm naja bin halt n quereinsteiger...

Musste mich zuerst mit PHP und SQL auseinandersetzen, Jetzt mach ich mich aber ans Layout.

Hab mir eigentlich vor langer zeit mal n Buch bestellt, aber letzte woche kam die Meldung dass es dieses nicht mehr gäbe.
Somit werde ich heute nachmittag mal in die Buchhandlung gehen, und n anständiges Buch mit CSS kaufen :grin:
 
Ich kann zwar keines empfehlen, aber vergiss nicht, auch ein gutes für HTML zu besorgen. CSS-Einsteiger beachten nämlich meistens nicht, dass die Voraussetzung für ein CSS-Layout eine valide, semantisch korrekte Basis aus HTML ist und strikte Trennung von Inhalt und Layout.
Viele wissen eigentlich gar nicht, wozu HTML gedacht ist und produzieren dann auf der Seite Schrott und wenn die den Schrott verbessern, müssen sie auch wieder das Stylesheet umschreiben.
 
Hehe kommt ja gerade passend.

Ich hab während meinem Studium ein Modul namens Internet-Topics belegt. An der Prüfung Kommt nun HTML, CSS, DOM und XML.

Da kann ich das Ganze ja gleich noch mit lernen verbinden :D
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben