10. oktober 2005 - 17:30Der er
12 kommentarer og 1 løsning
Div Float Problem
Jeg har forgæves søgt en løsning på nedenstående problem med 'float'. Mit spørgsmål er kort fortalt:
Hvorfor udvider en 'container-div' sig i Firefox ikke automatisk vertikalt, når man sätter 'flow:left' på de indeholdende 'div's?
En uddybelse:
Jeg har en centreret ydre 'div' (#container) der indeholder to 'div's; #one og #two. I Explorer fungerer dette tilsyneladende som det skal. Men i Firefox "klapper" #container sammen. Det er som om at #container ikke registrerer indeholdet.
Hvis du vil have synkronisering på den måde er det nemmest at lave en tabel med to celler, for de kan automatisk hvad du ønsker !-)
-- og floats er notorisk positionerede elementer, så det er faktisk ikke underligt, at Geckoerne behandler dem på samme måde som absolut positionerede, så den eneste løsning med diver er at have faste højder på, eller lade sit layout være afhængig af en røvfuld javascript !o]
PS. Jeg er javascript-nørd, men det forhindrer altså ikke, at jeg synes, det er verdens dårligste løsning at basere layout på javascript ...
Hvorfor vil du dog undgå tables, når det nu er det eneste html-element, som på fornuftig vis kan løse dit problem ?-)
-- og hvis du vil undgå tables og javascript, så er dine sider bare forskellige i forskellige browsere, der findes ingen andre løsninger end de tre, jeg skitserede !-)
Eneste årsag til at jeg (i dette tilfælde) vil undgå tabels, er egentligt bare fordi jeg er nysgerrig efter hvordan problemet løses. Jeg har stødt på problemet adskillige gange.
Hvis du vil bruge floats opfatter Gecko- (og andre renderings-) maskiner dem som udenfor det almindelige dokument-flows regler, og de har derfor ingen indflydelse på andre elementers størrelse ...
Det virker også i FF hvis du fortæller den hvornår din float stopper eller skal brydes. Har gjort det ved at indsætte en den div (<div style="clear: both;"></div>)
Nu hører jeg ofte den lidt søgte begrundelse for, at man skal benytte sig af divs og css fremfor tabeller, at man så kan redesigne hele sin side ved alene at rette i sit stylesheet, men den falder jo så bort, hvis man gør det på denne måde, da man så også skal rette i sin html-kode, med ovenstående element-konfiguration ...
-- og så vil jeg klart foretrække at bruge det element, som virker under alle omstændigheder, tabellen !-)
-- jeg har så inderligt meget imod at gå over åen, ringe efter en taxi, køre ind til byen og købe en flaske vand og derefter tage bussen tilbage, hvis jeg kan nøjes med at bukke mig ned og plaske lidt vand i hovedet !o]
Det at bruge tabeller (som design container) eller ej i ens design, er for min del op til den enkelte... Det diskuteres jo så rigligt i dette forum... Og tror ikke vi kommer det meget nærmere, for det afgørende er vel hvad det skal bruges til... Der er for og imod for begge løsninger... I sidste ende tror jeg at den som ender med at være bruger af sitet er ligeglad, bare det virker... Jeg synes heller man skulle bruge sit krudt på at tilsikre at det virker med de browsere som findes... Eksempelvis ved at følge standarderne, så er man da et langt stykke af vejen...
Og udgangpunktet er vel spørgsmålet. Kan det løses eller ej, eller er man nødt til at se sig om efter en anden løsning...
roenving >> Klart, brug for pokker det som virker, ingen tvivl om det og kan sagtens følge dig, men det var bare ikke det som var spørgsmålet.
- svaret på et spørgsmål kan sagtens være, at den anvendte metode er dårligere end andre ... selvom opgaven kan løses på den pågældende måde. Et godt svar behøver absolut ikke at være en direkte besvarelse af spørgsmålet :)
/mvh </bole>
Synes godt om
Ny brugerNybegynder
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.