Avatar billede php_programmoer Nybegynder
09. december 2006 - 18:18 Der er 6 kommentarer og
1 løsning

100% height på td element er ikke valid

Jeg skal have gjort sådan at indholdet i en <td> skal være 100% - dvs det skal være 100% hvis indholdet ikke når ned til browserens bund, men den skal udvides i højden hvis indholdet fylder mere.

Jeg har undersøgt sagen og har fundet ud af at height attributen på td elemtet er forældet og det giver derfor fejl hvis jeg indsætter en doctype (jeg bruger 4.01) men uden doctypen virker det, dog er koden ikke valid... naturligvis..

Jeg kunne godt bruge noget hjælp.
Avatar billede php_programmoer Nybegynder
09. december 2006 - 19:20 #1
Help?
Avatar billede webstuff Nybegynder
09. december 2006 - 19:27 #2
prøv med:

height: 100% !important;

det er dog ikke valid kode - men et lille IE hack :-)
Avatar billede php_programmoer Nybegynder
09. december 2006 - 19:33 #3
Hehe, man lære mens man lever :-)

Dog søgte jeg en kode som var valid, kender du sådan en?

Har lige prøvet at sætte height: 100%; på html og body i mit stylesheet, og det virkede såmænd fint, men alt indholdet lagde sig med en ca 30px padding top og bottom mellem hinanden..
Avatar billede php_programmoer Nybegynder
09. december 2006 - 19:45 #4
lige nu har jeg en hovedtabel med en masse tabeller indeni.. jeg gør tabellen 100% høj ved hjælp af denne kode:

table.hovedtabel {
      height: 100%;
}

men ved indsættelse af denne doctype virker det ikke:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

det der sker ved indsættelse af doctypen er at tabellen kun går dertil hvor teksten når...
Avatar billede jokkejensen Novice
09. december 2006 - 21:24 #5
du skal bare sikre at alle "parent" elementer også har heigt: 100%;


lav ex en tabel på en side, med en celle, og brug noget ala:

form, tabel, body, html, td
{
height: 100%;
border-collapse: collapse;
border:0px;
padding:0px;
margin:0px;
}

Så skulle cellen gerne blive 100% høj i forhold til body... lav så selv lige nogle mere fornuftige selectors, ellers fucker det nok lidt op..

/J
Avatar billede php_programmoer Nybegynder
10. december 2006 - 13:10 #6
Jamen så opstår det lille problem igen, der kommer store mellemrum mellem alle afsnit.. dvs mellem top,banner,menu,indhold og bund... Det burde kunne løses med en valign="top" men det kan det desværre ikke..

Her er koden hvis du er interesseret:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
<center>

  <table border="0" cellspacing="0" cellpadding="0" width="652" class="hovedtabel">

      <tr>
    <td class="leftshade">&nbsp;</td>
    <td class="top" valign="top">TOP</td>
    <td class="rightshade">&nbsp;</td>
      </tr>

      <tr>
    <td class="leftshade">&nbsp;</td>
    <td class="banner" valign="top">&nbsp;</td>
    <td class="rightshade">&nbsp;</td>
      </tr>

      <tr>
    <td class="leftshade">&nbsp;</td>
    <td class="menu" valign="top" align="left">MENU</td>
    <td class="rightshade">&nbsp;</td>
      </tr>

      <tr>
    <td class="leftshade">&nbsp;</td>
    <td class="main" valign="top">INDHOLD</td>
    <td class="rightshade">&nbsp;</td>
      </tr>

      <tr>
    <td class="leftshade">&nbsp;</td>
    <td class="bottom" valign="top">BUND</td>
    <td class="rightshade">&nbsp;</td>
      </tr>

  </table>

</center>
</body>
</html>
Avatar billede php_programmoer Nybegynder
10. december 2006 - 19:50 #7
fandt selv ud af det :-)
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