Avatar billede mik789 Nybegynder
02. september 2002 - 23:00 Der er 18 kommentarer og
1 løsning

højde på tabel i xhtml

Kan nogen give en fornurftig (eller ufornuftig) forklaring på hvorfor det er sådan i xhtml at width er gyldig attribut i <table> men height er det ikke. I html 4 (der tillader både width og height i <table> - height er ganske vist deprecated) kan man f.eks. ved at sætte både width og height til 100% lave en tabel der fylder hele skærmen ud for så inde i den at centrere siden (med en tabel inde i tabellen). Det kan man ikke i xhtml hvis det skal være gyldigt. Hvad er mon forklaringen på det? Og i det hele taget på modstanden mod højde. Det er faktisk ikke muligt at centrere siden (dvs. også vertikalt) i xhtml uden javascript. Man kan tilnærmelsesvis med css, men det fungerer ikke i IE5 uden nogle ret krøllede workarounds. Egentlig underligt da sidecentrering burde være ret fundamentalt.
Avatar billede nikolajdu Nybegynder
02. september 2002 - 23:02 #1
brug style="width:400"
Avatar billede nikolajdu Nybegynder
02. september 2002 - 23:02 #2
style="width:400px" oven i købet...
Avatar billede medions Nybegynder
02. september 2002 - 23:02 #3
Det er du nødt til at gøre det via stylesheet!

<table style="height: 100px;">

</table>

//>Rune
Avatar billede mik789 Nybegynder
02. september 2002 - 23:03 #4
ja men så skal der angives eksakte mål i px. Fordelen ved % var jo at skidtet selv regnede ud hvad der så er i midten...
Avatar billede mik789 Nybegynder
02. september 2002 - 23:03 #5
og rune> det funker ikke...
Avatar billede medions Nybegynder
02. september 2002 - 23:05 #6
<table style="height: 100%;">

</table>

//>Rune
Avatar billede mik789 Nybegynder
02. september 2002 - 23:07 #7
medions/rune> prøv selv:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<table border="1" cellpadding="0" cellspacing="0" width="100%" bgcolor="#999999" style="height:100%">
<tr>
<td style="width:100%; height:100%; background-color:blue">&nbsp;</td>
</tr>
</table>
</body>
</html>

--------
det virker ikke i min IE6 i hvert fald
Avatar billede mik789 Nybegynder
02. september 2002 - 23:10 #8
og bort set fra det, så gik spørgsmålet mere på hvorfor det mon skal være sådan end på en løsning af problemet (som jeg er ret sikker på ikke har nogen løsning i xhtml og css alene)
Avatar billede pelkjaer Nybegynder
02. september 2002 - 23:18 #9
I html 4.01 er det ej heller tilladt. Men jeg er nu heller aldrig kommet ud for at skulle bruge det...
Avatar billede mik789 Nybegynder
02. september 2002 - 23:22 #10
pelkjaer> jamen ville det egentlig ikke være meget naturligt hvis man kunne centere en side i simpel html og css, men uden frames og uden javascriptberegninger?
Avatar billede pelkjaer Nybegynder
02. september 2002 - 23:25 #11
Nøh.. :)

Smid din tabel i en div og centrer den.
Se bluerobot.com eller sidste eks her
http://www.eksperten.dk/spm/252520 - hvis du ikke bryder dig om javascript :)
Avatar billede mik789 Nybegynder
03. september 2002 - 07:48 #12
jeg kender godt bluerobot og har også før set scriptet (som er den løsning jeg kommer til at bruge). men det er da bare lidt underligt, når nu der ingen problemer er med at angive width 100% så det virker (dvs. tabellen, div'en eller hvad det er, kommer til at fylde hele vinduesbredden ud), hvorfor skal det så være så besværligt med height? det har jo ikke engang noget at gøre med beregning af diverse knappaneler og statusbarer, for selv hvis du hiver f.eks. "History" panelet ned (i IE), som normalt lægger sig som et vertikalt venstre vindue vil siden være centreret horisontalt uden problemer, og uden at aktivere den vandrette scrollbar. siden bliver bare det smallere, men fylder under alle omstændigheder hele vinduet ud. Så det samme burde da kunne lade sig gøre i højden. Jeg kunne bare godt tænke mig at vide hvad "filosofien" bag det er fra browserudviklernes og W3C's side. bare en diskussion ;-)
Avatar billede mik789 Nybegynder
03. september 2002 - 14:05 #13
pelkjaer> har du oplevet at der lige går et øjeblik før <div>'en placeres centralt på siden? jeg har brugt dit script (men selvfølgelig med en hel masse sideindhold inde i div'en) og det fungerer fint, bort set fra at der går et øjeblik hvor div'en er placeret top/left=0 ind til den flytter ned på plads. Det foregår tilsyneladende mens alt det øvrige indlæses.
Prøv selv på: www.dahr.dk/ieRel_div
Avatar billede pelkjaer Nybegynder
03. september 2002 - 14:40 #14
Ja.

Jeg plejer at lægge en div ind over siden
<div id="preloaddiv" style="visibility:hidden">
med 100x100% og det højeste z-index,
og så skjule det ved onload.

På den måde får du faktisk også en slags preloader, når sidens vises kommer der en helt loadet side med det samme.

Jeg brugte bl.a. metoden på http://www.retrolab.dk/ da jeg lavede den.
Avatar billede pelkjaer Nybegynder
03. september 2002 - 14:41 #15
Sorry, med visibility:visible fra start selvfølgelig.
Avatar billede mik789 Nybegynder
03. september 2002 - 17:54 #16
pelkjaer>
OK, fin idé. Men den skal være hidden fra starten og visible ved onload (det er sådan du har gjort det på retrolab).

Men men, hvordan gør du i NS 6??? det virker kun i IE for mig.
Avatar billede pelkjaer Nybegynder
03. september 2002 - 18:13 #17
Hmm jeg mener bestemt ikke at der er noget specielt i det til NS6.
Men nu kan jeg heller ikke lige se udmiddelbart hvordan  i din kode hvordan du har gjort - du har i hvert fald intet på onload'en til det.

Du kunne også blot lægge en div hen over siden (kunne ikke huske jeg brugte nested divs på retrolab) alá:

<div id="preloaddiv" style="visibility:visibible; background-color:#cccccc; width:100%; height:100%; z-index:1000;"></div>

Lige under <body> og så skjule det ved onload. Det giver samme effekt.
Avatar billede mik789 Nybegynder
03. september 2002 - 18:30 #18
yeps, det virker - altså dit sidste forslag med den grå div henover det hele. jeg ved ikke hvad der var galt med den nestede div i NS, måske noget med min iframe. men virkningen er da nogen lunde den samme. Var der nogen særlig grund til at du nestede dem på retrolab frem for at lægge den henover?

og læg også lige et svar (som sædvanligt ;-)
Avatar billede pelkjaer Nybegynder
04. september 2002 - 07:24 #19
Næ, hvorfor jeg lavede det på den måde til retrolab husker jeg ikke - men som sagt, det giver jo samme effekt.

:)
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