Gernot Back: Scrollbalkenbreite

Beitrag lesen

Hallo Struppi!

Vielen Dank für deine Tests. Ich habe auch neue Erkenntnisse gewonnen:

Bei Opera und MSIE scheint sich tatsächlich die Scrollbalkenbreite über JS ermitteln zu lassen:

Opera liefert bei
javascript:alert(document.body.offsetWidth-document.body.clientWidth)
genau die 13 Pixel, die sich bei mir in einem Screensot auch nachmessen lassen.

MSIE liefert mit Scrollbalken bei derselben Rechnung 17Pixel, bei Unterdrückten Scrollbalken mit <body style="overflow:hidden"> hingegen 4Pixel, also die Werte für den Außenrahmen, die wenn man sie von den 17Pixeln abzieht, wieder nachzumessende 13Pixel für den Scrollbalken ergeben.

Mozilla&Co liefern bei derselben Rechnung hingegen betragsmäßig immer exakt das Doppelte dessen, was man im nicht-validen Body-Attribut "marginwidth" einstellt. Dort hat die Rechnung also definitiv nichts mit Scrollbalken zu tun.

Bei mozillaartigen scheint aber die andere Rechnung
javascript:alert(innerWidth-outerWidth)
interessant. Je nachdem, in welchem Theme (Classic, Modern oder sonst noch was) man ist, liefert diese Rechnung verschiedene Werte, aber unabhängig von Scrollbalken. Im Vollbildmodus kommen dabei betragsmäßig jeweils geringere positive oder negative Werte heraus. Das scheint also etwas mit dem Außenrahmen zu tun haben. Für Mozilla&Co kann man die Ermittlung der Scrollbalkenbreite also wohl tatsächlich vergessen.

Oder hat noch jemand andere Ideen, über welche Werte man das dort abfragen könnte? Da je nach Browser-Theme die Scrollbakenbreite bei mozillaartigen ja sehr schwankt (bei Opera nicht), wäre es gerade für jene Browser wichtig im Zusammenhang mit meinem Projekt:

http://www.sprachlernspiele.de/anzeige/tabelle.html

Meine Tests habe ich jetzt übrigens an einer Seite ohne Doctype-Deklaration gemacht, also im Quirks-Mode. Den anderen Modus nehme ich mir für morgen vor, es gibt ja noch etwas anderes als Programmieren.

Gruß Gernot