Avatar billede magger Juniormester
25. februar 2005 - 13:25 Der er 21 kommentarer og
1 løsning

Låse tabeller i html

Jeg har oprettet et side med en masse tabeller indeni hinanden, og har brug for at kunne "låse" højde og bredde på nogle af tabellerne, så de altid bliver ved med at have den samme højde/bredde, selvom man putter mere indhold i, end der egentlig kan være.

Kan det lade sig gøre at låse tabeller på den måde, og hvordan? Jeg arbejder i Frontpage, men kan sagtens rette i koden selv, hvis ikke der er en indbygget "låsefunktion" i FP.
Avatar billede roenving Novice
25. februar 2005 - 14:16 #1
Der er ikke en indbygget låse-funktion på tabeller i html !-)

Metoden, du er nødt til at bruge, er at lægge elementer ind i cellerne, som kan den slags, f.eks. divs !-)

<table>
  <tr>
    <td>
      <div style="width:200px;height:100px;overflow:auto;">
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque lectus elit, sagittis at, accumsan id, dictum et, erat. Etiam non sapien. Quisque aliquet gravida mi. Integer vitae tortor quis wisi scelerisque vestibulum. Duis pulvinar magna non mauris laoreet volutpat. Aenean et purus. Cras accumsan justo sed arcu. Quisque urna. Sed mi. Ut sed nunc at lorem aliquet vulputate. Proin quis nibh. Proin ut dui vitae urna lacinia posuere. Ut vulputate purus facilisis nunc. Morbi ultrices euismod leo. Integer dui tellus, dictum in, viverra at, sagittis id, sem. Donec nonummy, sem eu hendrerit vulputate, nunc urna molestie eros, et semper nunc mi at ipsum. Praesent tempus malesuada felis.
      </div></td>
  </tr>
</table>
Avatar billede magger Juniormester
25. februar 2005 - 14:35 #2
Hmm... har lagt div-koderne ind, men kan stadig skrive lige så meget tekst jeg vil i den celle, hvor koderne ligger.

Jeg har for tabellen defineret nogle bredder i % - kan det gå an sammen med div style?
Avatar billede magger Juniormester
25. februar 2005 - 14:37 #3
Correction: Når jeg paster din Lorem ipsum tekst ind får jeg et fint resultat, men når jeg skriver helt almindeligt i cellen, skrider tabellen og det ser ud som om div style ikke virker...
Avatar billede roenving Novice
25. februar 2005 - 14:49 #4
Hvis du sætter størrelserne for cellerne kan du også bruge den til en relativ størrelse i diverne: width:100%;height:100%; ...

-- hvis cellernes højde og bredde er sat relativt, skal der udenom dem være elementer, som har en defineret størrelse, ellers er resultatet ikke til at forudse (og slet ikke cross-browser !-)
Avatar billede magger Juniormester
25. februar 2005 - 14:54 #5
Du skriver, at "hvis cellernes højde og bredde er sat relativt, skal der udenom dem være elementer, som har en defineret størrelse, ellers er resultatet ikke til at forudse (og slet ikke cross-browser !-)" - hvad vil det sige??

Og jeg synes altså stadig ikke jeg kan få det til at virke efter hensigten... jeg har sat højden til 10px og bredden til 200px, men kan stadig have hele teksten i cellen... Gør jeg noget forkert??
Avatar billede roenving Novice
25. februar 2005 - 15:07 #6
Kan du linke ?-)

-- for ellers kan jeg jo ikke kigge efter !-)
Avatar billede magger Juniormester
25. februar 2005 - 15:10 #7
Nej, for siden er ikke publiceret - men jeg kan lægge tabellen herind :-)

<div align="center">
  <center>
  <table border="0" width="96%" cellspacing="5" cellpadding="3">
    <tr>
      <td width="100%">
        <div align="center">
          <center>
          <table border="1" width="100%" cellspacing="5" cellpadding="2">
            <tr>
              <td width="100%">
              <div style="width:500px; height:100px; overflow:auto;">
              Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
              Pellentesque lectus elit, sagittis at, accumsan id, dictum et,
              erat. Etiam non sapien. Quisque aliquet gravida mi. Integer vitae
              tortor quis wisi scelerisque vestibulum. Duis pulvinar magna non
              mauris laoreet volutpat. Aenean et purus. Cras accumsan justo sed
              arcu. Quisque urna. Sed mi. Ut sed nunc at lorem aliquet vulputate.
              Proin quis nibh. Proin ut dui vitae urna lacinia posuere. Ut
              vulputate purus facilisis nunc. Morbi ultrices euismod leo.
              Integer dui tellus, dictum in, viverra at, sagittis id, sem. Donec
              nonummy, sem eu hendrerit vulputate, nunc urna molestie eros, et
              semper nunc mi at ipsum. Praesent tempus malesuada felis.
              </div>
              </td>
            </tr>
          </table>
          </center>
        </div>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
          <p>&nbsp;</p>
        <table border="1" width="49%" cellpadding="3" cellspacing="5" align="left">
          <tr>
            <td width="100%"></td>
          </tr>
        </table>
        <table border="1" cellpadding="3" cellspacing="5" width="49%" align="right" height="109">
          <tr>
            <td width="100%" height="31"></td>
          </tr>
          <tr>
            <td width="100%" height="21"></td>
          </tr>
          <tr>
            <td width="100%" height="21"></td>
          </tr>
        </table>
        <p>&nbsp;</p>
        <p><br>
        </p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p><br>
        </p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>&nbsp;</td>
    </tr>
  </table>
  </center>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br>
</p>
<p>&nbsp;</p>
<p><br>
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
Avatar billede roenving Novice
25. februar 2005 - 15:22 #8
Hvordan vil du have det anderledes ?-)

-- du skriver "men kan stadig skrive lige så meget tekst jeg vil i den celle, hvor koderne ligger", men det er vel også det, du vil, ellers har det jo ikke noget med html at gøre, men er et redigerings-spørgsmål, om, hvor meget tekst, du vil tillade ...
Avatar billede magger Juniormester
25. februar 2005 - 15:33 #9
Jeg ville gerne have det sådan, så mine tabeller ikke skrider/rykker sig/bliver større, hvis jeg skriver for meget tekst - altså at de beholder den samme størrelse, ligemeget hvor meget indhold, der kommer i. Forstår du hvad jeg mener? Med denne løsning kan jeg kontrollere cellens bredde, så den er ens lige meget hvad, mens højden på cellen ændres alt efter, hvor meget tekst der er.
Avatar billede roenving Novice
25. februar 2005 - 15:35 #10
Men ovenstående holder sig jo netop indenfor divens størrelse ?-)
Avatar billede magger Juniormester
25. februar 2005 - 15:46 #11
Ja, når cellen er tilpas stor... men hvis jeg sætter width til 500 px og height til 10 px, så kan al min tekst stadig være der... og det var jo netop det, der var meningen, at den ikke skulle.
Avatar billede roenving Novice
25. februar 2005 - 15:47 #12
Hvis du ikke vil have, at den skal være 500*10, kan du da bare lave diven mindre ?-)
Avatar billede magger Juniormester
25. februar 2005 - 15:51 #13
Jammen, det er netop det jeg gerne vil - jeg vil gerne have at min tabel forbilver 500*10 px ligemeget hvor meget tekst jeg propper i den...
Avatar billede roenving Novice
25. februar 2005 - 15:53 #14
-- men du har skrevet 500*100 i den kodestump, du har lagt ?-)
Avatar billede magger Juniormester
25. februar 2005 - 15:59 #15
Ja, det var en fejl, jeg ikke fik rettet fra mens jeg testede. Resultatet er desværre det samme: Det virker ikke efter hensigten, for jeg kan stadig have alt teksten i cellen (dvs. cellens størrelse skrider på trods af div-koderne)
Avatar billede roenving Novice
25. februar 2005 - 16:03 #16
Det forstår jeg ikke, for kopierer jeg det, du har indsat her, og ændrer til 10px højde, får jeg præcis celler, som er 10px højde, og det både i IE og Mozilla ?-)
Avatar billede magger Juniormester
25. februar 2005 - 20:35 #17
Doh... jo, jeg kan godt se, at det virker, når jeg nu rent faktisk får kigget på det i IE. Jeg har indtil videre kun kigget på det i FP, og der bliver scrollbaren bare ikke vist. Men så langt så godt, bortset fra, at det ikke helt var det jeg mente med spørgsmålet :-| Jeg skal bruge tabellerne på en hjemmeside, hvor der er flere, der skal opdatere indhold i tabellerne og jeg ville gerne lave tabellerne sådan, så brugeren på en eller anden måde blev forhindret i at skrive mere end der var plads til i en tabel, der fx var 400*400 px - altså som ovenstående bare uden scrollbaren.

Er det til at forstå eller udtrykker jeg mig helt sort?? :-)

/magger
Avatar billede roenving Novice
26. februar 2005 - 05:08 #18
-- det skal lige påpeges, at det overhovedet ikke kan anbefales at bruge de grafiske interfaces og slet ikke FrontPage, selv om det er blevet en myllion gange bedre de sidste år ...

-- det er stadig en myllion gange ringere end f.eks. DreamWeaver, der såvidt jeg ved er den bedste grafiske hjemmeside-editor, men den er altså heller ikke så god, at man skal andet end at lave sin grundopbygning i det grafiske interface og derefter fifle videre, primært i css !-)

-- jeg sidder selv for tiden og arbejder i Visual Studio .NET, som må siges at være M$s ultimative værktøj, men også der har jeg realiseret, at jeg laver det jeg skal bruge VS til færdigt, og så må jeg bagefter rette alle de ugyldige og/eller grimme html-koder i en anden editor ,-(

(Jeg glæder mig til på tirsdag at få at vide at VS.NET 2 faktisk kender til html-standarden, meneh ...)

-- mht. til den opgave, du beskriver, kan den bare ikke anbefales !-)

Man kan lave noget fifleri, som også vil virke delvist, ved efter hvert indtastet tegn at undersøge offsetHeight på tabel-cellen, og så komme med en advarsel, derefter fjerne tegn, som er i overskud, indtil højden igen er indenfor grænserne, men det er noget rod, jeg ville selv gå til ovenstående metode, så brugerne bare ville opdage, at der kom en scrollbar frem, så det blev grimmere end de havde lyst til, hvis de ikke begrænsede sig ...

PS. det delvise handler om, at siden ikke genrenderes mens et javascript kører, hvofor der i nogle tilfælde vil være mærkelige bivirkninger pga. dette ...
Avatar billede magger Juniormester
28. februar 2005 - 13:18 #19
Jeg er helt enig med dig i dine betragtninger om FrontPage - men det er min arbejdsplads desværre ikke :-) Personligt foretrækker jeg Dreamweaver eller Notepad, når det ikke lige drejer sig om 23 tabeller, der skal vikles ind i hinanden :-)

Mht. mit problem og løsningen på det, så tror jeg det bliver som du skriver eller evt. at jeg opretter nogle templates i Photoshop, der er den rigtige størrelse til tabellerne, og så må brugerne editere teksten i Photoshop. Det er lidt en omvej og det kommer til at fylde lidt mere, men det skal bruges til intranet, så jeg hvilke maskiner og båndbredde brugerne sidder med.

Men tusind tak for hjælpen, selvom det ikke kunne lade sig gøre. Du får selvfølgelig point, hvis du vil lægge et svar.

/magger
Avatar billede roenving Novice
28. februar 2005 - 13:58 #20
Velbekomme '-)
Avatar billede roenving Novice
28. februar 2005 - 13:58 #21
;O)
Avatar billede roenving Novice
01. marts 2005 - 07:20 #22
-- og tak for point ;~}
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