Avatar billede flodhesten Nybegynder
05. august 2007 - 22:43 Der er 6 kommentarer

Højde i procent gennem validering

Hej eksperter.

Jeg benytter mig af w3c's validitons service.

Jeg har følgende i toppen af mine dokumenter:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="da">

Jeg har en tabel som jeg skal skal have til at blive 100% i højden, men mit dokument bliver ikke valid, når jeg skriver height="100%". Når jeg benytter mig af style="height: 100%;", ser det ud til ikke at give problemer, men den giver så bare ikke min tabel 100%.

Gør jeg noget forkert, er der andre måde at gøre det på, hvor det ikke skaber problemer?

På forhånd tak.
Avatar billede erikjacobsen Ekspert
05. august 2007 - 22:49 #1
Når du bruger HTML 4.01 Strict kan du ikke bruge attributten height, men skal gøre det med CSS. Du kan evt. vælge at bruge HTML 4.01 Transitional, hvis du gerne vil bruge attributten.
Avatar billede flodhesten Nybegynder
05. august 2007 - 22:51 #2
Men hvorfor virker style="height: 100%;" da så ikke? Det er da CSS?
Avatar billede erikjacobsen Ekspert
05. august 2007 - 22:51 #3
Og at tabellen ikke bliver 100% høj er det klassiske problem: i forhold til hvad. Standarden foreskriver at %-vis udregnes i forhold til det omgivende element. Så hvad ligger tabellen i, og hvad har du angivet af højde der?

At attributten "virker" er blot fordi din browser bliver snotforvirret, og vælger en tilfældig, gammeldag, ikke-standard rendering.
Avatar billede flodhesten Nybegynder
05. august 2007 - 22:59 #4
Du kan nok se hvad jeg vil have den til i min kode her:

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

<body>

<table cellpadding="0" border="1" cellspacing="0" style="width: 800px; height: 700px; margin-left:

auto; margin-right: auto;">
<tr>
<td valign="top">

<table cellpadding="0" border="1" cellspacing="0" style="width: 100%; height: 100%;">
<tr>
<td style="width: 100%; height: 100%;">Tekst tekst tekst
</td>
</tr>
</table>

</td>
</tr>
</table>

</body>
</html>
Avatar billede erikjacobsen Ekspert
05. august 2007 - 23:11 #5
Den <td> din <table> nummer 2 står i, har ikke nogen angivet højde. Du får derfor 100% af dens udregnede højde.
Avatar billede flodhesten Nybegynder
05. august 2007 - 23:20 #6
Det vil sige, at dette burde virke

<table cellpadding="0" border="1" cellspacing="0" style="width: 800px; height: 700px; margin-left: auto; margin-right: auto;">
<tr>
<td valign="top" style="height: 400px;">
</td>
</tr>
<tr>
<td valign="top" style="height: 300px;">

<table cellpadding="0" border="1" cellspacing="0" style="width: 100%; height: 100%;">
<tr>
<td style="width: 100%; height: 100%;">Tekst tekst tekst
</td>
</tr>
</table>

</td>
</tr>
</table>

Men nu har min "hovedtabel" en højde på 700px... Kan man ikke gøre noget, således at td med 300px i højden ikke behøver være udfyldt, da den blot er det der er tilbage efter 400 af de i alt 700 px er brugt, hvis du forstår?

Ligesom dette:

<table cellpadding="0" border="1" cellspacing="0" style="width: 800px; height: 700px; margin-left: auto; margin-right: auto;">
<tr>
<td valign="top" style="height: 400px;">
</td>
</tr>
<tr>
<td valign="top">

<table cellpadding="0" border="1" cellspacing="0" style="width: 100%; height: 100%;">
<tr>
<td style="width: 100%; height: 100%;">Tekst tekst tekst
</td>
</tr>
</table>

</td>
</tr>
</table>
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