Hallo,
Ok hier der Link: [link]http://www.cworx.org/wenger/historie.php[/link]
<werner>Haua haua ha</werner> ;-))
Der gesuchte Fehler: Die absolut positionierten DIV-Elemente, welche die Ereignisse der Historie enthalten überlappen sich im Firefox. Den Rahmen des darüber stehenden sieht man deswegen nur dort, wo der Hintergrund des darunter stehenden transparent ist.
Die eigentlichen Fehler:
Du baust die gesamte Seite aus DIV-Elementen auf, die Du versuchst mit absoluter Positionierung pixelgenau untereinander zu kleben. Das kann man nur für genau eine Rendering-Engine schaffen. Für die des IE hast Du es fast (Ausnahme:1998 "Michael Wenger...") geschafft. Leider gibt es in der Wildbahn der Rendering-Engines einige. Du wirst dieses "Klebebild" nicht für alle hinbekommen.
Bitte ziehe folgende Vorgehensweise in Betracht:
HTML ist eine Text-Markup-Language. Überlege als erstes, welche Textstruktur hinter einer Historie steckt. Bilde dann diese Textstruktur mit HTML-Elementen ab und gestalte dann diese Elemente mit CSS. Um die Gestaltungsmöglichkeiten zu verbessern, suche nach einer sinnvollen Struktur, die möglichst viele semantisch sinnvolle Elemente bietet.
Ich traue mich mal, hier einen Vorschlag zu unterbreiten:
Sei eine Historie eine Auflistung von Ereignissen geordnet nach Jahren. Das würde bedeuten, dass OL- und LI-Elemente verwendet werden sollten. Nun sind aber die Möglichkeiten der Gestaltung der Listennummerierung bei OL/LI noch immer sehr begrenzt, weswegen ich eine DL/DT/DD-Liste bevorzuge, auch weil es damit ein Element mehr für die nachfolgende Gestaltung mit CSS gibt.
Die Struktur wäre also:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Historie</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<dl>
<dt>1990</dt>
<dd><p>Was im Jahr 1990 alles passierte, sollte dann hier stehen. Das DD-Element kann auch Textabsätze enthalten, weiterhin können hier Bilder hinein. Im Prinzip kann hier alles stehen, was in [link:http://www.w3.org/TR/html4/struct/lists.html#h-10.3] unter dem Link [link:http://www.w3.org/TR/html4/sgml/dtd.html#flow@title=%flow] angegeben wird.</p>
<p>Das DT-Element darf leider nur [link:http://www.w3.org/TR/html4/sgml/dtd.html#inline@title=%inline] enthalten. Aber auch das sollte ausreichend sein.</p>
<p class="sonst">Hier kann hin, was 1990 sonst noch passierte.</p></dd>
<dt>1991</dt>
<dd>Was im Jahr 1991 alles passierte, sollte dann hier stehen....Was im Jahr 1991 alles passierte, sollte dann hier stehen....Was im Jahr 1991 alles passierte, sollte dann hier stehen....</dd>
<dt>1992</dt>
<dd><p>Was im Jahr 1992 alles passierte, sollte dann hier stehen....Was im Jahr 1992 alles passierte, sollte dann hier stehen....Was im Jahr 1992 alles passierte, sollte dann hier stehen....</p>
<p class="sonst">Hier kann hin, was 1992 sonst noch passierte.</p></dd>
</dl>
</body>
</html>
Das kann jetzt jeder Browser vernünftig darstellen. Mit CSS kann man es gestalten. Ein erster Vorschlag:
<style type="text/css">
<!--
dl {margin:auto; width:600px;`}
dt {float:left; margin:0; padding:0; width:100px; background-color:#FF8080;}
dd {float:left; margin:0; padding:0; width:500px; padding-bottom:5px; background-color:#FFC1C1; border-bottom:2px solid gray;}
dd p {margin:0; padding:0;}
dd p.sonst {margin:0; padding:0; border-top:1px solid gray;}
-->
</style>
Die Kunst besteht nun darin, das CSS so zu formulieren, dass die Seite in allen Browsern gut aussieht.
Natürlich ist die DL/DT/DD-Struktur nicht die einzig richtige. Eine Historie kann man genau so gut als H1/P- oder OL/LI-Struktur oder als Tabelle mit zwei Spalten, links Jahr, rechts Ereignis sehen.
viele Grüße
Axel