Problemet er formentlig at dine divs ikke har nogen relationer. 100% i højden betyder "hele" skærmen, men hvis det er mere tekst i dem, end der kan være på skærmen udvider den sig. Det svarer til at sætte overflow:yes mener jeg. For at få det hele til at følge med, vil jeg tro du skal lave en "ydre" div, de andre er inden i, på den måde vil 100% bliver i forhold til den div, og dermed sørge for at de alle er lige høje.. Kan man følge det?
Jeg tror anhansen har ret, men jeg har dog ikke kigget for alvor i din kode ...
Men måske kan du bruge denne slags kode, som her er sat til at synkronisere nogle forskellige klasser, gøres det med id'er bliver den adskilligt simplere !-)
<script type="text/javascript"> var divs = ['left','middle','right'];
function synchronizeDivs(){ var maxH = 0; d = document.getElementsByTagName("DIV"); for(i=0;d.length>i;i++){ for(j=0;divs.length>j;j++){ if(d[i].className==divs[j])maxH = Math.max(maxH,d[i].offsetHeight); } } for(i=0;d.length>i;i++){ for(j=0;divs.length>j;j++){ if(d[i].className==divs[j])d[i].style.height=maxH + 'px'; } } } </script>
anhansen, det var mig, der lige prøvede at fjerne det. For bare at se om, menuen så ville indordne sig.
Men jeg kan se efter nogle tests, at den "ydre" divs (containeren) ikke indordner sig helt ned til bunden selvom den er defineret til at være 100% høj.
100% i css betyder, som anhansen også skriver, lige så højt, som det nærmest omkransende element, som har den egenskab, at det er positioneret og har en højde, som kan aflæses, ellers bruges body-højden, defineret eller udefineret !-)
ok.. så kan jeg ikke helt gennemskue det lige nu... Er ved at være en smule træt tror jeg. Men såvidt jeg kan se, så har du din "rightmenu" inde i den div du kalder content, og som er den længste.
Det må være derfor den følger med, men kan ikke lige gennemskue de.t..
nu har jeg ikke finkæmmet koden, men hvis du prøver at indrykke dine divs "korrekt" så de står lidt hierarkisk, så er det nemmere at løbe igennem... For lige at være sikker på at der ikke gemmer sig en "slut" div for meget.
Siden er et fint eksempel på misforstået brug af CSS. Meningen med CSS er, at egenskaber skal nedarves gennem klasser. ID-selektorer bør være undtagelsen, da de ødelægger idéen bag CSS - nemlig bedre overskuelighed. Brug af så mange ID-selektorer, som tilfældet er her, rykker koden tættere på fortiden ('stenalder-HTML') end mod fremtiden (overskuelig opdeling i data, visualitet og funktionalitet) :)
Derudover giver det ikke så megen mening at sætte en 100%-højde på et absolut positioneret element, når der samtidig angives en top-værdi. Det betyder jo, at elementet skal rykkes X-pixels ned i det omkransende element - og samtidig være ligeså højt som dette(!) ;o) /mvh
Enig med ole her... Der burde nok bruges class på mange af dem der har ens attributter, og id som undtagelse, hvis der er en enkel boks som skal noget andet.
F.eks kunne der sagtens laves en .header med højden på alle dine header divs.
Men jeg må indrømme at jeg ikke lige kan overskue koden, så jeg springer desværre fra her, og kravler hen under dynen.
Men held og lykke med det. Det skal nok lykkes, og når det gør... Så er du blevet klogere.. ;-)
Olebole, ja har læst artiklen om det, men kan ikke se, hvordan man skal kunne placere forskellige (individuelle) ting på siden uden brug af id, da den ting der skal placeres, er den éneste ting, der skal placeres netop der. Korrekt mig, hvis jeg tager fejl af det.
Men jow, det du siger med at elementet slak rykkes nogle X antal pixels ned i det omkransende område, og så være lige så højt som dette, det er præcist det jeg vil have.. Noget galt i det? :)
anhansen, kan ikke se hvordan jeg lave lave classes med alle headerne, da alle headers er forskellige. De divs jeg mener "går igen", har jeg allerede fra start lavet til classes.
Eksempel: Du er 185cm høj. Vi stiller dig i en kasse, der har en indvendig højde på 185cm. Hvordan får vi dig anbragt i den kasse, hvis der skal være 20cm fra toppen af kassen til din hovedtop? ... see ...?
Der er intet, der forhindrer dig i at bruge tabeller til noget og divs til andet. Til at danne de kolonner ville jeg f.eks. helt sikkert bruge en tabel - og det ville være i bedste overensstemmelse med W3C og tankerne bag deres arbejde :)
Ja, det vil jeg prøve... Kan du ikke lave den, ændre den, så den passer til id, da jeg ikke lige har i sinde, at skifte alle idér ud med classes lige pt ;)
Det ville - efter min mening - være langt bedre at bygge siden op med en mere hensigtsmæssig kode. At bruge JavaScript til at rette op på halv- eller hel-skidt kode, er ikke godt ... og det gør vedligeholdelsen vanskeligere, at man også skal huske at rette sine kode-hacks.
<script type="text/javascript"> var divs = ['left','middle','right'];
function synchronizeDivs(){ var maxH = 0;//her kan du angive en minimumshøjde, f.eks. med document.body.offestHeight !-) for(i=0;divs.length>i;i++){ maxH = Math.max(maxH,document.getElementById(divs[i]).offsetHeight); } for(i=0;divs.length>i;i++){ document.getElementById(divs[i]).style.height=maxH + 'px'; } } </script>
-- og så er det absolut værd at overveje oles forslag om, at det måske kan laves adskilligt simplere med noget tabel-værk (og så vil det sikkert også virke, hvis folk af en eller anden grund ikke tillader javascript !-)
roenving, du har en pointe. Men grunden til jeg gik igang med dette projekt, var at jeg ville prøve at lære at lege med divs, og tabeller og javascripts ér egentlig lidt, som at undvige at lære det egentlige...
roenving >> det ved jeg - men jeg fatter ikke, hvorfor. At puste deodorant på hunde-lorten har aldrig tiltalt mig ... og undskyld sammenligningen i øvrigt :)
Det må være et mål, kun at bruge script til visuel formatering, når mulighederne i de teknologier, der er beregnet til dette, er udtømt - det andet er efter min mening et uheldigt 'cowboy-hack' :)
Nej, at du blander den funktionalitet sammen og skiller den ad på en forkert måde ...
Min umiddelbare fortolkning er, at du tænker noget csszengarden-agtigt, når du tænker divs (http://www.csszengarden.com/ !-)
Divs er en container-type, som har andre egenskaber end tabeller, og man kan med en kombination af javascript og css næsten præcis opbygge funktionalitet, som er den samme som med tabeller, men det er da godt nok besværligt, at man for at komme fra Malmö til København tager bilen og kører igennem Norge og over Frederikshavn, når der lige er en bro tværs over Øresund !o]
Nå, okay ... så misforstod jeg dig vist før, roenving :)
Jeg er helt med på, at det er helt fint at blande tabeller og divs - og det er faktisk kun yderst sjældent nødvendigt at bruge JS til hjælp, hvis man ikke har berøringsangst overfor tabeller :)
sansalvador >> Det er desværre en udbredt misforståelse, at divs skulle være bedre end tabeller. Misforståelsen opstår, fordi nogle læser W3C, som Fanden læser Biblen og efterfølgende føler sig kaldet til at messe sine nyfundne misforståelser ud til alle verdenshjørner. Lidt som, når Tidehvervs bevægelsen pludselig kan få manipuleret det kristne næste-begreb ned til kun at dække naboen - og med samme mund beskylder de stygge muslimer for at blande religion og politik :)
Der er _intet_ i, hvad W3C til dato har offentliggjort, der peger i retning af, man fra den kant finder tabeller dårlige eller outdatede. Til gengæld er et site som csszengarden.com et glimrende eksempel på, hvad W3C absolut ikke har i tankerne, når de udfærdiger deres rekommendationer. Her beror layout'et nemlig også på et hav af ID-selektorer - i stedet for at anvende den nedarvning, der er hele 'sjælen' i CSS. /mvh
Ah I to, nu forstår jeg jer endelig ^^. Men ja, jeg havde nok tænkt mig at lave noget lignende zengarden.com. Mest for at prøve funktionaliteterne af, ved blot af anvende divs :)
Muligvis er zengarden.com ik det mest ambitiøse W3C-efterfulgte projekt, men "legen" med html er sq alligevel sjov, og jeg tror, det er det, der har drevet folkene bag projektet, ligeledes med mig, der prøver at gøre undtagelsen til reglen ;)
Fordi, det giver en urimelig uoverskuelig kode og afviklingen er langsommere, end når de forskellige properties nedarves.
Til 'Siden om husets kat' er det såmænd okay, men skriver man til andre, er det ens forbandede pligt at gøre koden overskuelig og overholder gængse standarder og konventioner. Når først projektet er afleveret, skal det uden problemer kunne vedligeholdes og/eller udvides af alle ... ikke kun af ham på hjørnet af gadekæret i landsbyen 20 km sydvest for Øvre Balleby ;o) En analogi kunne være, at du køber en VW-Golf - og kun én mekaniker i Europa kan finde ud af at skifte olie på dyret :)
Netop derfor forsøger W3C at opstille regler for ensartet kodesyntaks og prøver at 'opdrage' folk til 'god kodeskik'. /mvh
Jeg ved ikke, om du selv kan gennemskue det, men når jeg læser tråden, ser jeg tre kodere, som er ved at få tungen i klemme i keyboardet. Det er absolut ikke den store lyst til at rode rundt i dine koder, der har præget os i dette spm. Det skyldes, den er unødig uoverskuelig - og det er der ingen, der har lyst til at pille i.
Det er ærgeligt at bruge en bunke tid på at lære at skrive kode, som hænger andre langt ud af halsen - og ingen gider arbejde videre på. Derfor prøvede vi at vise dig vejen til en bedre kode :) /mvh
Meningen med dette spørgsmål, var at prøve at løse et problem med højden i divs. Nu har "det grå guld", som I kalder det, kommet ind på analogi og mekanikere i EU og god kodeskik, noget som jeg flere gange har bedt jer om lade være med.
Meningen med dette spørgmål var IKKE at prøve at kombinere tabeller og divs samt have den BEDSTE kodeskik. MENINGEN med dette spørgsmål var at finde ud af, hvordan man kunne have ens højde på alle divs. Den eneste der overhovedet kom i nærheden af et svar på mit spørgsmål, var roenvings javascript funktion.
Som sagt 2-3 gange prøver jeg at lege med divs, og finde disses funktioner og muligheder. Derfor er jeg sådan set ligeglad med hvor mange ID og CLASSES jeg bruger. Noget I åbenbart ikke helt forstår :) Jeg vil lege, okay?
Men ligemeget hjælper det, synes jeg; "det grå guld" er åbenbart enige om "at følge mig ind på den rette vej" ...
Jeres hjælp er prisværdig, men bare ikke til dette spørgsmål :)
Grunden til jeg er lidt skuffet over to ellers to kompetente eksperter som jer, er at jeg fik svaret af en anden, der havde leget med divs i blot et par måneder.
Ellers sætter jeg pris på jeres hjælp, og vil gerne have jer til at lægge nogle svar. Selvom I ikke har hjulpet på mit problem, har jeg da lært en masse "kodeskik" ^^
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.