Avatar billede wolfgang Praktikant
09. marts 2006 - 12:09 Der er 4 kommentarer og
1 løsning

Problemer med tabel højde - XHTML

Hej,

Jeg har på min side 2 tabeller.
Den øverste er sat til en fast højde (117px) og den næste tabel er sat til 100%

|----------|
  Tabel 1
|----------|

|----------|
  Tabel 2
|----------|

Problemet er bare at tabel 1's højde ikke bliver trukket fra siden samlede højde.
Derfor kommer der altid 117px ekstra i længden = scroll

Det rigtige resultat vil vel være [html,body] - [Tabel 1] = [Tabel 2]

Jeg har følgende i mit stylesheet.
html,body {
margin:0;
padding:0;
height:100%;
}

Jeg benytter denne Doctype:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Håber I kan hjælpe.
Avatar billede lillehamster Nybegynder
09. marts 2006 - 12:54 #1
kan du ikke prøve at skrive koden ?
Avatar billede milandt Nybegynder
09. marts 2006 - 13:13 #2
tabel 2 er 100% i højden af dens parent element - dvs højest sandsyneligt body. Det vil den være uanset hvad der ligger før den - de 117px som tabel 1 er har intet at gøre med hvordan højden på tabel 2 beregnes.

"Det rigtige resultat vil vel være [html,body] - [Tabel 1] = [Tabel 2]"

Dette bliver du nok nødt til at løse med javascript, eller endnu bedre - lave en tabel:

<table> <!-- denne table skal være 100% høj, dvs 100% af parent element, f.eks body -->
  <tr>
    <td>
      Denne td skal være 117 px høj
    </td>
  </tr>
  <tr>
    <td>
      Denne td har ingen specifik højde
    </td>
  </td>
</table>
Avatar billede wolfgang Praktikant
09. marts 2006 - 13:14 #3
Naturligvis.

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<style type="text/css">
<!--
html,body {
margin:0;
padding:0;
height:100%;
}
-->
</style>
<body>
<table style="height:117px;"  width="860" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#000000" id="topTable">
  <tr>
    <td height="117" valign="top">tabel 1 </td>
  </tr>
</table>
<table style="height:100%;" width="860" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#999999" id="contentTable">
    <tr>
      <td width="60" height="25" valign="top" scope="col">Tabel 2 </td>
    </tr>
</table>
</body>
</html>
Avatar billede wolfgang Praktikant
09. marts 2006 - 13:41 #4
Jeg har fået det til at virke med denne løsning:
<script language="javascript">
function contentTableHeight()
{
var winH = (document.all)? document.body.offsetHeight : window.innerHeight;
var obj = (document.getElementById)? document.getElementById("contentTable") : document.all.pixels;
obj.style.height = winH - 121;   
}
window.onload = contentTableHeight;
window.onresize = contentTableHeight;
</script>
Avatar billede wolfgang Praktikant
06. april 2006 - 09:43 #5
lukker
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