Avatar billede apo Praktikant
14. maj 2005 - 16:40 Der er 15 kommentarer og
1 løsning

Div 100%?

Hej :-)

Jeg har lidt problemer med en <div> der ligger i en <td>. Jeg vil have at div'en skal udfylde cellen/td'en 100% i højden, også selv hvis td'en udvides i nedadgående retning.

Her er den kode jeg anvender (Den virker bare ikke efter hensigten :-/ ):

<td style="padding-left:10px; padding-right:20px; width:180px; text-align:left; vertical-align:top;" class="tekst">
  <div style="padding:10px; height:100%; border:1px solid #CDC5B7; background-color:#EFEBE7;">Blabla... osv.</div>
</td>

Håber at jeg har forklaret mig tydeligt, ellers spørger I bare :-)

Apo
Avatar billede roenving Novice
14. maj 2005 - 16:46 #1
Hvorfor vil du have den til at udfylde i højden ?-)

Hvad med i stedet:

<td style="padding-left:10px; padding-right:20px; width:180px; text-align:left; vertical-align:top; border:1px solid #CDC5B7; background-color:#EFEBE7;" class="tekst">
  <div style="padding:10px; height:100%;">Blabla... osv.</div>
</td>

-- problemet er nemlig, at relativ størrelsesangivelse skal tages af det nærmest omkransende elements angivne størrelse, og da det ikke har en angivet højde virker det selvfølgelig ikke ...
Avatar billede apo Praktikant
14. maj 2005 - 17:01 #2
Nope, det er div'en der skal have baggrundsfarve og border :-)

Grunden til at jeg vil have den til at udvide sig i højden er, at td'en indeholder højremenuen i mit design. Div'en udgører selve højremenuen (Jeg har slettet indholdet for at gøre koden mere overskuelig her på E).

Jeg vil have at div'en går helt ned til bunden af td'en uanset hvor høj td'en er, af hensyn til designet...

Apo
Avatar billede apo Praktikant
14. maj 2005 - 17:04 #3
"-- problemet er nemlig, at relativ størrelsesangivelse skal tages af det nærmest omkransende elements angivne størrelse, og da det ikke har en angivet højde virker det selvfølgelig ikke ..."

Hmm... Har du forslag til hvordan jeg så laver det?
Avatar billede apo Praktikant
14. maj 2005 - 17:09 #4
Skal jeg gå over til at bruge et <table> i stedet for en div, eller findes der en bedre løsning?
Avatar billede roenving Novice
14. maj 2005 - 17:09 #5
Eneste måde, jeg kan se, at du kan gøre det, er så med javascript, men det er ikke så godt at forlade sig på det, når det er den slags !-)

<script type="text/javascript">
function resizeDiv(){
  document.getElementById("divId").style.height = document.getElementById("tdId").offsetHeight + "px";
}
window.onload = resizeDiv;
window.resize = resizeDiv;
</script>
Avatar billede apo Praktikant
14. maj 2005 - 17:19 #6
Jeg vil helst undgå at lave det med javascript...

Men når det ikke kan laves med en div, betyder det at jeg skal til at omstrukturere mit design :-/
Avatar billede roenving Novice
14. maj 2005 - 17:20 #7
Ja, så er det nok tabellen ...
Avatar billede apo Praktikant
14. maj 2005 - 17:28 #8
Kan det laves med en tabel i td'en?
Avatar billede olebole Juniormester
14. maj 2005 - 17:43 #9
<ole>

"-- problemet er nemlig, at relativ størrelsesangivelse skal tages af det nærmest omkransende elements angivne størrelse, og da det ikke har en angivet højde virker det selvfølgelig ikke ..."

- det gælder alle elementer, så det er ligemeget om det er en knap, en tabel eller et div, du hælder ind i cellen. Skal elementet fylde 100% af cellens højde, skal cellen have sat en højde.
Ellers er der jo ikke noget at beregne de 100% udfra ... 100% af hvad?  ;o)

/mvh
</bole>
Avatar billede apo Praktikant
14. maj 2005 - 20:09 #10
"100% af hvad?"

Ja, det lyder egentlig logisk nok når du skriver det på den måde, Ole :-)

Jeg var kommet ud på et sidespor, og har derfor besluttet mig at droppe div'en som højremenu... Resultatet bliver meget bedre ved at anvende den <td> jeg i forvejen har, som højremenu (I stedet for en div). Derefter kan jeg let styre mellemrummene, mellem cellerne, med margin i stedet for med padding (Inde i cellerne)... Desuden kan jeg skære en del kode fra på den nye måde.

Formålet med spørgsmålet her var også at finde ud af om jeg gik rigtigt til værks i min opbygning af HTML'en, hvilket jeg så ikke gjorde (Det ved jeg så nu :-) )

Roenving, jeg vil gerne give dig points for din hjælp, og fordi jeg nu ikke behøver at bruge tid på, at rode med en halv-umulig kode. Smit et svar så er der points :-)

Apo
Avatar billede apo Praktikant
14. maj 2005 - 20:17 #11
Hov...

Ole, du skal da også have points da det var dig der fik den sidste brik til at falde på plads med din forklaring. Smid et svar hvis du vil have points, så deler jeg pointene i mellem jer :-)

Apo
Avatar billede olebole Juniormester
15. maj 2005 - 00:00 #12
Ellers tak, men jeg synes, de bør tilfalde roenving. Han havde gjort ganske forbildedligt rede for problemet ... jeg skrev præcis det samme, men var åbenbart heldig at snuble over en vending, der tændte gnisten  ;o)
Avatar billede apo Praktikant
15. maj 2005 - 00:13 #13
Så tilfalder pointene Roenving :-)
Avatar billede roenving Novice
15. maj 2005 - 00:32 #14
Selvom ole faktisk tilførte noget, så vil jeg da sige: velbekomme '-)
Avatar billede apo Praktikant
15. maj 2005 - 01:17 #15
Tak for hjælpen, og værsågod :-)

// Lukker

Apo
Avatar billede roenving Novice
15. maj 2005 - 01:19 #16
-- og jeg takker for point ;~}
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