Avatar billede webcreator Nybegynder
26. oktober 2005 - 14:45 Der er 17 kommentarer og
1 løsning

Span vises ikke på samme linie i Firefox + scroll i bunden

Hej Eksperter.

Jeg hjælper en ven med at lave et simpelt, statisk FAQ system, som gør svar og spørgsmål overskuelige for læseren.

Jeg har imidlertid et problem med inline elementer. Sagen er den, at de vises korrekt i IE - men ikke i Firefox. Og det skyldes tilsyneladende at jeg bruger 'position' og 'visibility' i CSS klassen for mit SPAN-tag. Fjerner jeg dem, så kommer elementet fint op ved siden af teksten.

Ligeledes har jeg det underlige problem, at de skjulte elementer tilsyneladende fylder for meget i bredden (position: absolute; visibility: hidden), hvilket giver mig en scroll-bar nederst på siden. Men når de bliver gjort synlige (position: relative; visibility: visible) vha. JavaScript, så forsvinder scroll-baren i bunden af siden. Det mest underlige er dog, at scroll-baren ikke dukker op igen, når elementet skjules igen med JavaScript.

Jeg har lagt systemet online. Jeg håber der er nogen der kan hjælpe mig. På forhånd tak :)

Siden : http://powerzone.dk/faq/index4.html
CSS : http://powerzone.dk/faq/default.css
Avatar billede Slettet bruger
26. oktober 2005 - 14:58 #1
Prøv at smid din position:absolute væk og brug så iøvrigt display:block eller display:none til at vise/skjule lag.
Avatar billede webcreator Nybegynder
26. oktober 2005 - 14:59 #2
Problemet med scrollbaren skyldes tilsyneladende også inline <span> elementet. Fjerner jeg det, er der slet ingen problemer.
Avatar billede webcreator Nybegynder
26. oktober 2005 - 14:59 #3
Ok, prøver jeg lige :)
Avatar billede webcreator Nybegynder
26. oktober 2005 - 15:03 #4
Hvordan skal jeg bruge position i mit javascript? Jeg bliver vel nødt til at angive enten absolute eller relativ for ikke at optage plads på siden når elementet er skjult.
Avatar billede webcreator Nybegynder
26. oktober 2005 - 15:11 #5
Fik jeg nævnt at det også skulle virke i Firefox? For det gør det overhovedet ikke nu. Men det virker fint i IE. Her sætter jeg elementernes 'display' property til "block" eller "none", og 'position' property til "relative" eller "" (tom).
Avatar billede webcreator Nybegynder
26. oktober 2005 - 16:09 #6
?
Avatar billede johan.o Nybegynder
26. oktober 2005 - 18:11 #7
Du skal bruge style.visibility hvis det skal virke i FF.

Grunden til at du får lidt uoverensstemmelse imellem hvordan FF og IE behandler dokumentet er af to grunde. Den første er at du ikke bruger style.left og style.top når du sætter style.position='absolute'. FF bliver meget forvirret :-) og sætter først dit <span> i forlængelse af din genvej. Når så den <div> der indeholder dit <span> får style.position='relative' bliver dit <span> på to linjer og når du så igen sætter absolute på <div> 'opgiver' FF og flytter dit <span> ned under din genvej. Øhm...er du med :-)

IE tænker 'Øh' og placere hele tiden dit <span> efter din genvej. Derfor 'genopstår' din scrollbar i IE men ikke i FF.

Så første skridt er at tilføje de to styles top og left til dine scripts og styles.

Når du har gjort det bliver FF og IE mere konsekvente i deres adfærd men stadig ikke ens. Fordi IE sætter dit <span> på samme linje som dit link, mens FF sætter dit <span> ind på linjen under dit link.

Og så løb jeg tør for gode ideer :-), men hvis du vil lege videre med det så kan jeg anbefale dig at slette alle dine div's undtagen den om google da det er den de indeholder problemet dernæst så lad være med at sætte visibility til hidden, fordi så kan du meget bedre følge med i hvad FF og IE laver mens du tester.

God fornøjelse :-)

Mvh. Johan
Avatar billede webcreator Nybegynder
26. oktober 2005 - 20:05 #8
Hej Johan.

Mange tak for dit input. Jeg har tilføjet top og left til klassen der bruges af mit DIV tag - men det ændrede ikke på noget. Satter hver property til 1px.

Så jeg er ikke kommet meget videre.
Avatar billede webcreator Nybegynder
26. oktober 2005 - 20:12 #9
Jo, sørme. Jeg fik tilføjet det til den forkerte klasse. Ved at sætte top og left til 0px på span-klassen, fik jeg løst problemet :)
Du må gerne smide et svar! :)
Avatar billede webcreator Nybegynder
26. oktober 2005 - 20:33 #10
Løsningen på problemet med, at FF smider teksten ned på næste linie efter linket, løste jeg ved at lade siden starte med alle elementer udvidet. Ved onLoad på body får jeg så alle elementer til at kollapse. Det fungerer fint :)
Avatar billede johan.o Nybegynder
26. oktober 2005 - 20:35 #11
Velbekomme :-)
Avatar billede Slettet bruger
26. oktober 2005 - 21:58 #12
"Du skal bruge style.visibility hvis det skal virke i FF."

Nej, style.display virker fint i både FF, Netscape, opera og andre DOM browsere.
Avatar billede olebole Juniormester
27. oktober 2005 - 00:56 #13
<ole>

I det hele taget lyder det, somom det er johan.o, der er 'meget forvirret' ... ikke FF  ;D

/mvh
</bole>
Avatar billede johan.o Nybegynder
27. oktober 2005 - 01:44 #14
Det er absolut ikke umuligt at jeg er blevet en smule forvirret :-) men jeg mener ikke style.display har de samme egenskaber i FF som i IE og lige præcis de egenskaber som 'webcreator' skulle bruge mener....mente ? :-) ....jeg ikke style.display kunne give ham, men som sagt er det da muligt jeg tager fejl. Men så håber jeg da at i vil vise mig og 'webcreator' hvordan det kan gøres med style.display istedet.

Mvh. Johan
Avatar billede johan.o Nybegynder
27. oktober 2005 - 02:27 #15
AHA ! og så kan jeg lærer det :-)

http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-display

Mvh. Johan
Avatar billede olebole Juniormester
27. oktober 2005 - 02:50 #16
- ja, gu' ka' du da så ...!!!  ;D

/mvh
Avatar billede olebole Juniormester
27. oktober 2005 - 02:52 #17
- og nej, jeg pisser ikke på dig. Det er venligt/humoristisk ment  ;o)
Avatar billede johan.o Nybegynder
27. oktober 2005 - 10:25 #18
No worries :-) man må forberede sig på at næsen kan komme i klemme hvis man stikker den frem :-)

Mvh. Johan
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