Avatar billede kongknabe Nybegynder
22. november 2005 - 18:37 Der er 23 kommentarer

Avanceret positionerings problem!

Hejsa.. Jeg har et lille problem i forhold til positionering af nogle elementer på en hjemmeside.. Jeg har lavet en lille skitse der viser hvordan jeg gerne vil have det til at fungere. Den røde boks i toppen, og de to blå er positioneret med position:fixed og det er meningen at de ikke skal scrolle vertikalt... Så langt så godt... Mit problem ligger i at jeg gerne vil have dem til at scrolle horisontalt hvis browser vinduet bliver for småt ( prøv at gøre vinduet lille for at se hvad jeg mener ) - det undre mig egentlig meget at CSS ikke giver en mulighed for at vælge på hvilken akse man vil fixere dem - det kunne jo let have været lavet f.eks. sådan her: position: fixed-x / position: fixed-y / position: fixed-xy ! - Nå, men hvis der er nogle der kan hjælpe mig med at løse dette problem ville jeg virkelig blive glad.. har snart prøvet alt og kan bare ikke finde en løsning :-(

Min kladde kan ses her ( virker pt. ikke i IE, men fint i FF )

Mvh. Rasmus L. Knabe
Avatar billede kongknabe Nybegynder
22. november 2005 - 18:38 #1
Og her var så linket til min kladde :-) http://kongknabe.users.whitehat.dk/Layout%20tester/index.html
Avatar billede kongknabe Nybegynder
22. november 2005 - 19:33 #2
Jeg er meget åben over for alternative og kringlede løsningsmodeller - bare det kan laves sådan som jeg ønsker... skal også gerne smide alle de point jeg kan efter den der kan hjælpe mig! :-) ( Kunne kun give 200 her, men måske man kan give mere på en måde!? )
Avatar billede roenving Novice
22. november 2005 - 22:20 #3
Hvorfor sætter du så ikke elementet, som indeholder den tekst, der skal kunne scrolle til en fixeret højde afhængig af skærmstørrelsen (kræver noget javascript !-)
Avatar billede kongknabe Nybegynder
22. november 2005 - 22:41 #4
Kan du forklare lidt nærmere eller henvise til et eksempel ? - Jeg er nybegynder og forstår ikke lige hvad du mener :-)
Avatar billede johan.o Nybegynder
22. november 2005 - 23:08 #5
Jeg tror det roenving mener er at du istedet for at bruge position: fixed på de to bokse, så placerer du dem f.eks. med position: relative og derefter definerer du en 'container' f.eks. <div> til det indhold der kommer nedenunder, som har en fast højde. Derved vil de to øverste bokse altid være synlige og indholdet i boksen nedenunder kan scrolle. Løsningen er ikke 100% i det tilfælde at du resizer dit browser vindue til at blive mindre end højden på den container du definerer plus de to øverste bokse, men jeg kan ikke finde på noget bedre :)

Var det en hjælp ? eller.....? :)

Mvh. Johan
Avatar billede johan.o Nybegynder
22. november 2005 - 23:17 #6
Der er forresten en løsning men det er absolut ikke en jeg vil bruge på offentligt tilgængelige sider. Jeg har brugt den på nogle sider jeg kun bruger hjemme på min egen PC og den virker kun i IE.

<body onScroll="oDiv.style.top=document.body.scrollTop;">

<div id="oDiv" style="position: absolute; top: 0px; left: 0px; border: 1px solid #AAA898;">Hej</div>

Og for at det ikke skal være løgn så tror jeg heller ikke det virker ved korrekt brug af DOCTYPE, men det er altså også blot ment som en hjælp hvis det er noget du kun skal bruge hjemme :)

Mvh. Johan
Avatar billede kongknabe Nybegynder
22. november 2005 - 23:19 #7
Tror ikke det du forslår vil virke da jeg vil have den vertikale scrollbar til at fylde hele vinduets højde.
Avatar billede kongknabe Nybegynder
22. november 2005 - 23:22 #8
Hmm.. det du lige skrev nu forstår jeg ikke helt, og da jeg sider med en Mac har jeg ikke lige mulighed for at teste det i IE ( IE til Mac, virker ikke til noget! ) - Under alle omstændigheder er det ikke godt nok hvis det kun virker til IE ;-)

Men tak for hjælpen ind til nu :-)
Avatar billede roenving Novice
22. november 2005 - 23:29 #9
johan.o 22/11-2005 23:08:02 har næsten fanget den, men man kan også onload aflæse browserens højde og så sætte indholdsdiven til at have den højde minus højden på de andre elementer !-)

-- det ville selvfølgelig være mere elegant, hvis IE understøttede den slags simple css-property-værdier !o]
Avatar billede kongknabe Nybegynder
22. november 2005 - 23:31 #10
Hmm.. er der en måde hvorpå man kan definere højden på et element til at være f.eks. 50% minus 15px ?
Avatar billede kongknabe Nybegynder
22. november 2005 - 23:35 #11
Ja det har du selvfølgelig ret i... Men så er designet tilrettelagt efter den størrelse browseren har når folk åbner den.... Det virker vel ikke så godt hvis man reziser...!?

"det ville selvfølgelig være mere elegant, hvis IE understøttede den slags simple css-property-værdier !o]"

- Ja, men det er en helt anden snak :-D - Mit problem er i første omgang ikke at IE ikke forstår position:fixed, men at jeg ikke kan scrolle de fixerede objekter horizontalt.. ( altså i andre browsere ) :-)
Avatar billede roenving Novice
22. november 2005 - 23:43 #12
Nej, den mulighed findes ikke (23:31:36 !-)

-- fixed positionerede indgår ikke i dokument-flowet på den måde, så der skal du nok over i f.eks. relativt eller static (default !-) positionerede elementer ...

-- nåh, ja, tjah, Opera vil nok tilbyde scrollingen under alle omstændigheder, men det har jeg ikke undersøgt !o]
Avatar billede kongknabe Nybegynder
22. november 2005 - 23:46 #13
Hmm... Så der er altså ikke nogen mulighed for at lave det sådan som jeg gerne vil have det ?
Avatar billede kongknabe Nybegynder
23. november 2005 - 14:31 #14
Nogle der kan henvise mig til et fora, gerne internationalt, med en masse CSS eksperter ? - Er godt nok gået i stå med det her, men har ikke lyst til at give op før jeg ved med sikkerhed at det jeg vil ikke kan lade sig gøre :-)
Avatar billede kongknabe Nybegynder
24. november 2005 - 18:23 #15
Jeg har nu fundet en side der kan lige det jeg vil i IE og FF til pc. - Horisontalt scroll fungere dog ikke i Safari eller FF til mac, men det må kunne løses.. Ville lige smide et link hvis andre skulle være interesseret :-)

http://www.cssplay.co.uk/layouts/fixed.html
Avatar billede johan.o Nybegynder
24. november 2005 - 22:22 #16
Hm, når jeg ser siden i FF så scroller den menu altså ingen steder ?

Mvh. Johan
Avatar billede kongknabe Nybegynder
24. november 2005 - 22:33 #17
Hmm.. Heller ikke horisontalt når browservinduet bliver for lille ? - Hvilken version af FF bruger du, og hvilken version af WIndows ?
Avatar billede johan.o Nybegynder
24. november 2005 - 22:55 #18
FF 1.0.7 på XP.

Og uanset størrelsen på browser vinduet scroller den ingen steder.

Mvh. Johan
Avatar billede kongknabe Nybegynder
25. november 2005 - 00:48 #19
Nej du har ret. Fik lige min ven til at opdatere sin FF til seneste version og nu virker det ikke mere... :-)
Avatar billede johan.o Nybegynder
25. november 2005 - 01:02 #20
Uden at have kigget detaljeret på hvad cssplay.co.uk havde lavet, så tror jeg det er et godt eksempel på hvor uhensigtsmæssigt der er at kode efter den funktionalitet en evt. browser bug giver, fordi en eller anden dag så rettes den bug nok :)

Mvh. Johan
Avatar billede kongknabe Nybegynder
25. november 2005 - 01:09 #21
Ja, jeg er fuldstændig enig... Bare vildt irriterende at jeg ikke kan få det her til at virke.. Hvorfor er overflow-x og overflow-y ikke implementeret i css2 - det giver ingen mening ! :-( - Det kunne løse alle mine problemer... Nå, men er ved at erkende at det bare ikke kan lade sig gøre det jeg vil - har spurgt på diverse store internationale css fora og ikke været i nærheden af at få et svar jeg kan bruge... - Hvis der så bare var en der i det mindste kunne sige med sikkerhed at det IKKE kan lade sig gøre !? :-D
Avatar billede johan.o Nybegynder
25. november 2005 - 01:29 #22
Det kan ikke lade sig gøre :) he he godnat og sov godt.

Mvh Johan
Avatar billede kongknabe Nybegynder
25. november 2005 - 01:36 #23
Ha ha - Ja, den havde jeg jo nok regnet med at du ville fyre af... Og det er sikkert også rigtigt... Erfaring siger mig bare at man ALTID kan få det til at virke, hvis man er stædig og kreativ nok :-)
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