Spida: Opera vs IE: Scrollbars in Framesets

Hi!
Ich habe ein Frameset mit 2 Frames übereinander, mit einem Navigationsframe oben und dem Inhaltsframe unten. Der Navigationsframe soll keine Scrollbar anzeigen, der Inhaltsframe schon. Da beide Frames rechtbündig Bilder enthalten, die übereinanderliegen sollen, soll im Navigationsframe der Platz für die (nicht benötigte) Scrollbar freibleiben. Der IE 6 macht das auch, Opera 7.20 aber nicht. nun suche ich einen Weg, in beiden Browsern gleiches verhalten zu bekommen (möglichst auch im Mozilla), ohne einnzelne Browser gesondert zu behandeln.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"  "http://www.w3.org/TR/html4/frameset.dtd"><HTML>
<HEAD>
<TITLE>Meine Seite</TITLE>
</HEAD>
<FRAMESET rows="110,*" frameborder=0 framespacing=0 border=0>
  <FRAME src="./nav.php?active=SelectedPage" name="head" framespacing=0 border=0 scrolling="AUTO" marginheight=0 marginwidth=3 frameborder=0>
  <FRAME src="./content.php" name="body" frameborder=0 framespacing=0 border=0 scrolling="YES" marginheight=0 marginwidth=3>
</FRAMESET>
</HTML>

  1. Hallo Spida,

    Ich habe ein Frameset mit 2 Frames übereinander, mit einem Navigationsframe oben und dem Inhaltsframe unten. Der Navigationsframe soll keine Scrollbar anzeigen, der Inhaltsframe schon. Da beide Frames rechtbündig Bilder enthalten, die übereinanderliegen sollen, soll im Navigationsframe der Platz für die (nicht benötigte) Scrollbar freibleiben. Der IE 6 macht das auch, Opera 7.20 aber nicht. nun suche ich einen Weg, in beiden Browsern gleiches verhalten zu bekommen (möglichst auch im Mozilla), ohne einnzelne Browser gesondert zu behandeln.

    Das geht höchstwahrscheinlich nicht. Du könntest beiden Frames scrolling="yes" geben und darauf hoffen, dass die Leistenanzeige beider Frames gleich ist, aber Mozilla zeigt trotzdem nur dann eine vertikale Bildlaufleiste an, wenn der Inhalt nicht ins Frame passt. Und zwangsweise eine horizontale Scrolleiste möchtest du vermutlich auch nicht. Da die Breite der Scrollleiste nicht bekannt ist, sind CSS-Hacks, welche je nach Browser verschiedene rechte Ränder zuweisen, ausgeschlossen, es ließe sich höchstens per JavaScript die innere Breite der Dokumente vergleichen und daraus die Korrekturrandbreite errechnen. Ich denke nicht, dass sich diese Zwickmühle elegant und kompatibel lösen lässt.

    Mathias

  2. Hallo.

    Ich habe ein Frameset mit 2 Frames übereinander, mit einem Navigationsframe oben und dem Inhaltsframe unten. Der Navigationsframe soll keine Scrollbar anzeigen, der Inhaltsframe schon. Da beide Frames rechtbündig Bilder enthalten, die übereinanderliegen sollen, soll im Navigationsframe der Platz für die (nicht benötigte) Scrollbar freibleiben. Der IE 6 macht das auch, Opera 7.20 aber nicht. nun suche ich einen Weg, in beiden Browsern gleiches verhalten zu bekommen (möglichst auch im Mozilla), ohne einnzelne Browser gesondert zu behandeln.

    Du könntest im unteren Frame ebenfalls die Bildlaufleisten unterdrücken und innerhalb dieser Seite, die du mit deinem Hintergrundbild versiehst, ein jeweils 100% breites wie hohes transparentes <div> mit automatischen Bildlaufleisten unterbringen. Das Hintergrundbild liegt dann hinter der Bildlaufleiste. Gegebenenfalls sollten die Hintergrungbilder rechts ein wenig verbreitert werden, um keine wichtigen Informationen zu verlieren.
    MfG, at