Avatar billede unknown_someone Juniormester
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?
Avatar billede steen_hansen Forsker
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>
Avatar billede unknown_someone Juniormester
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%
Avatar billede steen_hansen Forsker
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.
Avatar billede steen_hansen Forsker
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
Avatar billede steen_hansen Forsker
11. januar 2005 - 15:34 #5
(kolonnen til højre = kolonnen til venstre)
Avatar billede olebole Juniormester
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>
Avatar billede steen_hansen Forsker
11. januar 2005 - 15:36 #7
Takker, olebole, du fik sat de rette ord på :)
Avatar billede unknown_someone Juniormester
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>
Avatar billede steen_hansen Forsker
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 :)
Avatar billede steen_hansen Forsker
11. januar 2005 - 15:56 #10
Hvis du fjerner 2-3-4 stykker <br>, vil det fungere rigtigt.
Avatar billede steen_hansen Forsker
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>
Avatar billede unknown_someone Juniormester
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?
Avatar billede unknown_someone Juniormester
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.
Avatar billede steen_hansen Forsker
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>
Avatar billede unknown_someone Juniormester
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 :-)
Avatar billede steen_hansen Forsker
11. januar 2005 - 16:22 #16
Det er noget sludder, vender lige tilbage ...
Avatar billede steen_hansen Forsker
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/
Avatar billede steen_hansen Forsker
11. januar 2005 - 17:29 #18
.. om ikke andet kan du sætte tabellen ind. Jeg vender tilbage, når 10-øren er faldet.
Avatar billede olebole Juniormester
11. januar 2005 - 18:00 #19
Kender vi ikke højden, må der JavaScript til
Avatar billede steen_hansen Forsker
11. januar 2005 - 19:26 #20
Følger spændt med :)
Avatar billede unknown_someone Juniormester
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 :)
Avatar billede olebole Juniormester
11. januar 2005 - 20:33 #22
Det må være dine, Steen  ;o)
Avatar billede steen_hansen Forsker
11. januar 2005 - 20:50 #23
Jeg synes vi skulle dele, olebole. Hvis jeg lægger et svar, lægger du også et, ok? :)
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