11. januar 2005 - 15:12
Der er
22 kommentarer og 1 løsning
tabelkludder i IE
<table border="1"> <tr> <td style="height: 50%;">1<br>2</td> <td rowspan="2" style="height: 100%;">3<br><br><br><br><br><br><br></td> </tr> <tr> <td style="height: 50%;">2</td> </tr> </table> Med ovenstående kode ville jeg forventer at tabellen med 1-tallene og 2-tallet skulle være lige høje da højden jo er sat til 50% - men fordi der er mere indhold i den med 1-tallene overtager den noget af pladsen fra 2'er tabellen. Hvordan kan dette løses med kun den ene tabel?
Annonceindlæg fra Cognizant
11. januar 2005 - 15:18
#1
Er det sådan noget du efterlyser? <table border="1" style="height: 100%;"> <tr> <td align="center" valign="middle" style="height: 50%;">1<br>2</td> <td align="center" valign="middle" rowspan="2" style="height: 100%;">3</td> </tr> <tr> <td align="center" valign="middle" style="height: 50%;">2</td> </tr> </table>
11. januar 2005 - 15:25
#2
ikke helt - for højden må ikke sættes til 100%. Samtidig sker der det samme hvis jeg fjerner højden, altså fylder mere indhold i 3'eren, så vil 1'eren fylde mere i højden end 2'eren selvom de begge er sat til 50%
11. januar 2005 - 15:30
#3
Problemet er nok, at når du ikke sætter hverken højde eller bredde på, så vil indholdet i cellerne forskubbe cellebredde/cellehøjde: EKS. 1: <table border="1" style="height: 180px; width: 180px;"> <tr> <td align="center" valign="middle" style="height: 50%;">1<br>2</td> <td align="center" valign="middle" rowspan="2" style="height: 100%;">3</td> </tr> <tr> <td align="center" valign="middle" style="height: 50%;">2</td> </tr> </table> Hvis man tager dit eksempel, vil 2'eren blive mindre, eftersom du ikke angiver størrelse på din tabel: <table border="1"> <tr> <td align="center" valign="middle" style="height: 50%;">1<br>2</td> <td align="center" valign="middle" rowspan="2" style="height: 100%;">3</td> </tr> <tr> <td align="center" valign="middle" style="height: 50%;">2</td> </tr> </table> Her udvides cellen øverst til venstre, mens den nederste til venstre bibeholder sin højde, og højden = 0, eftersom du ikke har angivet noget.
11. januar 2005 - 15:33
#4
Pladsen fra 1 overtager ikke plads fra 2 (kolonnen til højre), men cellen 1 bliver højere, eftersom der er flere data i, end i 2. 50% af ingenting = ingenting
11. januar 2005 - 15:34
#5
(kolonnen til højre = kolonnen til venstre)
11. januar 2005 - 15:35
#6
<ole> ... og forklaringen: CSS foreskriver, at når et element får tildelt en relativ højde (en højde angivet i procent), skal denne beregnes udfra højden på det omkransende element. Højden på det omkransende element skal altså explicit være sat, for at få en relativ højde til at give mening /mvh </bole>
11. januar 2005 - 15:36
#7
Takker, olebole, du fik sat de rette ord på :)
11. januar 2005 - 15:51
#8
med nedenstående kode er tabelhøjden sat - men den skævvrider stadig? <table border="1" style="height: 200px;"> <tr> <td style="height: 50%;">1<br>1</td> <td rowspan="2" style="height: 100%;">3<br><br><br><br><br><br><br><br><br><br><br>3</td> </tr> <tr> <td style="height: 50%;">2</td> </tr> </table>
11. januar 2005 - 15:55
#9
Det er fori du tvinger den til det med alle dine <br>, og højden på tabellen er sat til 200 pixels. Man kan splitte alt ad, hvis man vil :)
11. januar 2005 - 15:56
#10
Hvis du fjerner 2-3-4 stykker <br>, vil det fungere rigtigt.
11. januar 2005 - 15:57
#11
<table border="1" style="height: 200px;"> <tr> <td style="height: 50%;">1<br>2</td> <td rowspan="2" style="height: 100%;">4<br><br><br><br><br><br>5</td> </tr> <tr> <td style="height: 50%;">3</td> </tr> </table>
11. januar 2005 - 16:03
#12
selvfølgelig - den havde jeg lige overset. :-( Men hvad så hvis jeg ikke kender højden på tabellen? I mit tilfælde er der en ukendt mængde tekst og billeder - og sætter jeg højden på tabellen til 100% virker det jo så ikke?
11. januar 2005 - 16:06
#13
det skal siges at der til tider kan komme ret meget indhold i - måske 1000-1200px i højden - så det går ud over normal skærmhøjde og der kommer derfor scroll.
11. januar 2005 - 16:12
#14
Så ville jeg lægge en tabel inde i tabellen: <table border="1" cellpadding="0" cellspacing="0" style="height: 100%; width: 300px;"> <tr> <td align="center" valign="middle">Øverst</td> <td align="center" valign="middle" rowspan="2"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="top" valign="left">Til højre<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> </td> </tr> </table> </td> </tr> <tr> <td align="center" valign="middle">Nederst</td> </tr> </tabel>
11. januar 2005 - 16:15
#15
ja - det var også det jeg frygtede :-( nå, men tak for hjælpen i hvert fald - læg et svar dem der vil have point :-)
11. januar 2005 - 16:22
#16
Det er noget sludder, vender lige tilbage ...
11. januar 2005 - 16:38
#17
Jeg er sq kørst fast mellem dit problem, ASP.NET og MySQL, og er temmelig tom lige nu, selvom det ser temmelig enkelt ud :oD olebole, træder du ikke lige til? Skal der <div></div> til, eller ...? Hvor svært kan det være? :o/
11. januar 2005 - 17:29
#18
.. om ikke andet kan du sætte tabellen ind. Jeg vender tilbage, når 10-øren er faldet.
11. januar 2005 - 18:00
#19
Kender vi ikke højden, må der JavaScript til
11. januar 2005 - 19:26
#20
Følger spændt med :)
11. januar 2005 - 20:06
#21
står valget mellem javascript eller en tabel inde i en tabel vil jeg vælge det sidste. Men som sagt - tak for forsøget. Dem der vil have point lægger bare et svar :)
11. januar 2005 - 20:33
#22
Det må være dine, Steen ;o)
11. januar 2005 - 20:50
#23
Jeg synes vi skulle dele, olebole. Hvis jeg lægger et svar, lægger du også et, ok? :)
Vi tilbyder markedets bedste kurser inden for webudvikling