Avatar billede mik789 Nybegynder
30. september 2003 - 21:13 Der er 7 kommentarer og
1 løsning

Tage højde for Netscape scrollbar

Vinduet i NS6 er som default uden lodret scroobar i modsætning til IE der har den uanset om der er brug for den eller ej - blot nedtonet, hvis der ikke er. Det giver et problem i NS når man skifter imellem sider med ensartet layout. Hvis nogle siders indhold holder sig inden for vinduets dimensioner og andre har overflow, vil hele siden rykke sig de 16px til venstre som scrollbaren fylder når den vises.

Hvordan undgår man det, dvs. hvordan tager man højde for den scrollbar der IKKE er der, så siderne bliver på samme plads horisontalt?
//mik
Avatar billede =maddog= Nybegynder
30. september 2003 - 22:29 #1
var der ikke lettere at fjerne den scrollbar der ikke bruges i IE?
body {overflow:auto;}
Avatar billede mik789 Nybegynder
30. september 2003 - 23:40 #2
jeg tror jeg har udtrykt mig uklart. Sp. er:

hvordan tager man på sider uden overflow højde for at der på sider med overflow vises en scrollbar - altså sikre sig at det tilgængelige vindue har samme bredde hvad enten der er overflow eller ej - lige som i IE (hvor der ALTID vises en scrollbar.
Avatar billede =maddog= Nybegynder
01. oktober 2003 - 02:35 #3
det kan ikke lade sig gøre. med mit vidende findes der ingen mulighed for at kontrollere om  der er scrollbar eller ej.
hvis dit design er så følsomt at det ikke kan håndtere 16px forskel skulle du kanske overveje et mere robust design. bare et venskabeligt forslag.
måske kan det lade sig gøre med
onload = function() {
    if (document.Window) { // på opfordring korigeres NS/Moz
        if (document.body.scrollHeight>=parseInt(document.body.clientHeight)) { // scrollbar
            document.body.style.marginRight = "16px";
        }
    }
}
Avatar billede =maddog= Nybegynder
01. oktober 2003 - 02:37 #4
onload = function() {
    if (window.Document) { // på opfordring korigeres NS/Moz
        if (document.body.scrollHeight>=parseInt(document.body.clientHeight)) { // scrollbar
            document.body.style.marginRight = "16px";
        }
    }
}
det er blevet lidt sent.
Avatar billede roenving Novice
01. oktober 2003 - 06:53 #5
-- men scrollbaren har jo også forskellig bredde i ie og NS/Mozilla ...
Avatar billede lordhead Nybegynder
01. oktober 2003 - 07:31 #6
<body scroll="yes"> ?

Så kommer der vel altid en scroll-bar...
Avatar billede mik789 Nybegynder
01. oktober 2003 - 07:40 #7
maddog> det gør ikke noget at scrollbaren har forskellig bredde i de to browsere. Jeg kan bare lade dit script være browserbestemt. lægger du lige et svar. din løsning er jo go nok.

lordhead> har vist prøvet dette før. ja der kommer en scrollbar, men der kommer vist så to når der ellers kun skulle være én.
Avatar billede =maddog= Nybegynder
01. oktober 2003 - 08:36 #8
modsat microsoft har netscape valgt at følge specifikationerne. der findes ikke noget der hedder overflow-x og overflow-y i disse, og derfor kan man kun slå begge til/fra/auto i NS.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester