bin heute zum ersten Mal auf der Suche nach einem direkten CSS-Hilfe Forum gewesen und hoffe das Ihr mir mit diesem wirklich fiesen Problem helfen könnt.
Ich arbeite im Moment an unserer neuen Firmenwebsite und komme mit einem kleinen "Interpretationsproblem" nicht wirklich vorwärts.
Die Website soll unabhängig von der Auflösung immer mittig platziert werden. Ich benutze dazu eine Tabelle die sowohl auf der linken, als auch auf der rechten Seite eine Spalte mit variabler Breite besitzt.
Nun soll unter der Navigation eine Slideshow laufen, an welcher ich sozusagen im Moment hänge. Auch diese Slideshow soll immer mittig platziert werden aber je nach Auflösung weiter nach links oder rechts laufen. Ich habe mich dazu entschlossen, ein DIV zu verwenden, welches mir eine Tabelle auf der Höhe positioniert, an dem später die Slideshow laufen soll.
Diese Tabelle besitzt 3 Spalten. Die mittlere besitzt eine feste Breite und dient auch zum positionieren meiner Slideshow... zumindest sollte sie dies tun.
Die Spalten links und rechts daneben besitzten eine variable Breite, sodass je nach Auflösung die mittlere Spalte immer mittig gehalten wird. Zudem habe ich dort eine min-width angegeben, um die Slideshow an das restliche Layout anzugleichen, damit im kleinsten Auflösungsfall die Slideshow nicht zu weit links beginnt.
Über dieser Tabelle liegt nochmal der "Rahmen". Quasi halbtransparente Grafiken die die weiterlaufenden Bilder blass erscheinen lässt. Das ganze ist nach dem gleichen Prinzip wie die vorhergegangene Tabelle aufgebaut.
Hier erstmal der Code, damit Ihr Euch einen Überblich verschaffen könnt.
- Code: Alles auswählen
<!-- Slideshow -->
<div style="width: 100%; height: 307px; position: absolute; background: black; top: 190px; overflow: hidden">
<table width="100%" class="normal" cellpadding="0" cellspacing="0" style="position: absolute">
<tr>
<td style="min-width: 177px;"></td>
<td style="width: 927px; height: 307px" valign="top">
<div style="position: relative;">
<table class="normal" cellpadding="0" cellspacing="0" style="position: absolute;">
<tr>
<td><img src="images/slideshow/01.jpg" alt=""></td>
<td><img src="images/slideshow/02.jpg" alt=""></td>
<td><img src="images/slideshow/03.jpg" alt=""></td>
<td><img src="images/slideshow/04.jpg" alt=""></td>
</tr>
</table>
</div>
</td>
<td style="min-width: 177px;"></td>
</tr>
</table>
<!-- "Rahmen" -->
<table width="100%" class="normal" cellpadding="0" cellspacing="0" style="position: absolute">
<tr>
<td style="min-width: 177px; background: url(images/nav_bg.png)"> </td>
<td style="width: 927px; min-width: 927px; height: 307px"> </td>
<td style="min-width: 177px; background: url(images/nav_bg.png)"> </td>
</tr>
</table>
</div>
Nun zu meinem Problem. FF 3.6.11 sowie Opera 10.63 interpretieren die Eigenschaft position:absolute laut meiner Referenz die sagt
absolute Positionierung, gemessen am Rand des nächsthöheren Vorfahrenelements, das nicht die Normaleinstellung position:static aufweist. Scrollt mit.
Für folgenden Code-Teil bedeutet dies für mich
- Code: Alles auswählen
<div style="position: relative;">
<table class="normal" cellpadding="0" cellspacing="0" style="position: absolute;">
<tr>
<td><img src="images/slideshow/01.jpg" alt=""></td>
<td><img src="images/slideshow/02.jpg" alt=""></td>
<td><img src="images/slideshow/03.jpg" alt=""></td>
<td><img src="images/slideshow/04.jpg" alt=""></td>
</tr>
</table>
</div>
Mein DIV wird relativ in der Tabellenzelle positioniert. Meine TABLE soll sich nun an der Position des DIV's orientieren. In FF und Opera geschieht dies, in Safari 5.0.2 und IE7 nicht.
Safari scheint als Position die Tabelle über dem DIV zu verwenden, zzgl. der min-width Werte meiner ersten Spalte. Im IE wird die Slideshow einfach ganz an den Rand gesetzt und zudem der min-width Wert komplett ignoriert - und das obwohl der Browser diese Eigenschaft unterstützen soll. Will heißen, das sich die Rahmengrafiken komplett wegschieben lassen.
Ich habe dazu gleich ein paar Screenshots angehängt, da der Safari in niedrigeren Auflösungen das Problem unter Umständen nicht sichtbar werden lässt.
Konnte gestern auf Arbeit mal mit dem IE8 testen - dieser schlägt mir vor, meine Seite im sogn. "Kompatibilitätsmodus" laufen zu lassen. Ohne habe ich die Darstellung wie im FF, also richtige Interpretation von position:absolute, leider dafür mit einem weißen Strich im Layout, welches ich noch nicht näher untersuchen konnte und erstmal ohne große Bedeutung ist. Mit habe ich wieder die gleichen Symptome wie beim IE7.
Ich bin mit meinem Latein langsam am Ende und hoffe das Ihr Euch die Zeit nehmt kurz einen Blick darauf zu werfen. Ich hoffe meine Ausführung war verständlich.
Einen aktuellen Entwicklungsstand der Website findet ihr hier. Bitte stört Euch nicht an dem Menü... das ist noch nicht final und funktioniert im IE noch nicht. Um das Problem werde ich mich später kümmern. Wichtig ist für mich zu verstehen, warum ich - trotz der Darstellung der Website im Standartmode - keine "gleiche" Ausgabe habe. Wenn jemand von Euch eine Idee hat... BITTE, immer her damit!



