molily: Problem Iframes und Ankern in Opera ...

Beitrag lesen

Hallo,

Weiß jemand warum das in Opera nicht korrekt funktioniert ?

Dein Hauptproblem ist der Iframe. Opera zeigt diesen nicht in der Tabelle sondern am oberen Rand des Dokumentes an.

Wie kommst du zu dieser Aussage? Der Iframe befindet sich (mit position:static und margin:0) in der ersten Tabellenzelle. Die Tabelle grenzt direkt an den oberen Dokumentrand. Bei border="1" für die Tabelle und bspw. border:1px solid red für den iframe zeigt sich diese Verschachtelung. Indem Opera dies umsetzt, verhält er sich wie die anderen Browser.

Operas Verhalten lässt sich mit folgendem Code reproduzieren (das Schema gleicht dem ursprünglichen Code):

<table border="0" cellspacing="0" cellpadding="0" width="400">
<tr>
<td style="border:1px solid black;"><a name="top"></a><iframe name="navi" style="height:100px; width:100%; border:1px solid red;" border="0" frameborder="0" src="about:blank" scrolling="no"></iframe></td>
</tr>
</table>
<p>bla</p>
<p>bla</p>
...Viele Absätze...
<p><a href="#top">nach oben</a></p>

Damit befindet sich der Anker für ihn am Beginn des eigentlichen Dokumentes

Das »eigentliche« Dokument beginnt mit dem Start-Tag des äußeren table-Elements.

(unterhalb der Navigation).

Die Navigation befindet sich im durch das iframe eingebundenen Dokument, dieses kommt in der besagten Tabellenzelle *nach* dem fraglichen a-Element. Wie gesagt wurde der iframe nicht durch position oder margin verschoben bzw. aus dem Fluss genommen.

Dorthin springt er auch.

Er springt eben nicht *unter* das iframe, sondern nimmt ein Stück vom iframe noch mit. Das ist erklärbar, weil der Anker horizontal links daneben liegt, siehe mein anderes Posting.

Mathias