[HTML] Tabel-footer constant onderaan pagina

Pagina: 1
Acties:
  • 217 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Rashann
  • Registratie: Maart 2000
  • Laatst online: 12:48

Rashann

Zoek de hond...

Topicstarter
Is dat mogelijk?

Ik weet dat je een footer kan maken door de tabelhoogte op 100% te zetten (of gebruik te maken van de TFOOT tag) maar het probleem is dan dat de footer niet direct te zien is indien de inhoud van de pagina groter is dan de gereserveerde cel.

Even grafish uitleggen:
code:
1
2
3
4
5
6
7
8
9
10
Zo wil ik hem:
 /--------------------\
 |   Header      |
 ----------------------
 |   |         ^|
 |   |   Info-cel    I| <- Scrollbalk :)
 |   |         v|
 ----------------------
 |  Footer      |
 \--------------------/

Echter, als de teskt in Info-cel te groot wordt krijg je zoiets:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
 /--------------------\^
 |   Header      |I
 ----------------------I
 |   |          |I
 |   |   Info-cel     |I  <- Scrollbalk
 |   |          |I
 |   |          |I
 |   |          |I
 |   |          |I
 |   |          |I  <<- Einde browserscherm
 ----------------------I
 |  Footer      |I
 \--------------------/v

en dat wil ik dus niet, ik wil dat de footer op dezelfde plaats blijft staan. Hoe kan ik hiervoor zorgen zonder dat ik frames ga gebruiken?

(Of: hoe bepaal ik de hoogte van de middelste TR, zodat de onderste netjes onderaan staat?)

If nothing is written below, I was the last to reply...


Acties:
  • 0 Henk 'm!

  • Dennis
  • Registratie: Februari 2001
  • Nu online
Je kunt doen wat je zegt: een tabel maken met relatieve en absolute waarden.

Voor de middelste rij kun je een iframe gebruiken, of, nog netter: een afgezaagde DIV met Clay-scrollbar *D

Acties:
  • 0 Henk 'm!

Verwijderd

plaats er een frameset opheen van 3 rows waar je deze frameset die je hebt uitgetekend in de middelste row plaatst
bovenste en onderste frame van de buitenste frameset op * zetten.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
----------------------------------------------------------
|                                     |
|           topframe                    |
----------------------------------------------------------
|      |                         |    |
|      |                         |    |
|      |        jouw frameset       |     |
|  linker |                      |rechter |
|  frame  |                      | frame  |
----------------------------------------------------------
|                                     |
|            bottomframe                  |
----------------------------------------------------------

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 22-09 16:31

Bosmonster

*zucht*

Hoe kan ik hiervoor zorgen zonder dat ik frames ga gebruiken?
Maar vertel eens.. waarom moet die footer altijd in beeld? Want de enige opties zijn A. frames en B. een berg dhtml.

Acties:
  • 0 Henk 'm!

Verwijderd

ik zou geen iframe gebruiken daar dit browser afhankelijk is.

Acties:
  • 0 Henk 'm!

  • Rashann
  • Registratie: Maart 2000
  • Laatst online: 12:48

Rashann

Zoek de hond...

Topicstarter
Op dinsdag 19 februari 2002 10:13 schreef ddc het volgende:
Je kunt doen wat je zegt: een tabel maken met relatieve en absolute waarden.

Voor de middelste rij kun je een iframe gebruiken, of, nog netter: een afgezaagde DIV met Clay-scrollbar *D
Een tabel met relatieve waarden werkt niet, want dan krijg je juist het effect dat de footer 'naar beneden' schiet... ik moet eigenlijk via JS ofzo de hoogte van de middelste rij kunnen vastzetten... maar dat maakt resizen weer lastig

Een IFRAME is toch niet mogelijk met de source in hetzelfde bestand, of wel? En aangezien de inhoud door middel van PHP wordt gegenereerd is iedere keer een nieuwe pagina maken een beetje lastig.

Het DIV met Clay-scrollbalk zou kunnen, maar dan werkt je scroll wieltje niet... hmmm.. ff Clay weer laten knutselen dan :P
Op dinsdag 19 februari 2002 10:15 schreef Bosmonster het volgende:

[Hoe kan ik hiervoor zorgen zonder dat ik frames ga gebruiken?]

Maar vertel eens.. waarom moet die footer altijd in beeld? Want de enige opties zijn A. frames en B. een berg dhtml.
Bedankt voor dat te benadrukken :) En de footer altijd in beeld, tja, dat moet je de PR afdeling vragen... die willen daaronder namelijk hun informatie kwijt, en die willen ze per se altijd in beeld...

En de reden dat er geen frames gebruikt kunnen worden is omdat er verschillende afdelingen zijn met verschillende lay-outs. Echter, deze staan allemaal in een database en worden via 1 PHP bestand weergegeven (waarbij er dus iedere keer een veld 'Info-cel' is voor de informatie). Hierdoor kan er geen frames pagina gebruikt worden tenzij je alle frames met inhoud in 1 HTML bestand kan plaatsen... (kan dat?)

If nothing is written below, I was the last to reply...


Acties:
  • 0 Henk 'm!

Verwijderd

Op dinsdag 19 februari 2002 10:46 schreef RainManX het volgende:

[..]

Een tabel met relatieve waarden werkt niet, want dan krijg je juist het effect dat de footer 'naar beneden' schiet...
je moet zoals ik heb uitgetekend de middelste row op een vaste hoogte zetten, en daarin jouw frameset zetten. Op deze maniet blijft jouw footer altijd vast

Acties:
  • 0 Henk 'm!

  • Rashann
  • Registratie: Maart 2000
  • Laatst online: 12:48

Rashann

Zoek de hond...

Topicstarter
Op dinsdag 19 februari 2002 10:51 schreef Los het volgende:

[..]

je moet zoals ik heb uitgetekend de middelste row op een vaste hoogte zetten, en daarin jouw frameset zetten. Op deze maniet blijft jouw footer altijd vast
True... maar dan niet altijd netjes onderaan, wat ik dus eigenlijk wel wil... net als dat de header en footer altijd evenhoog zijn en dus alleen het middelste veld variabel is... en daarbij komt nog dat ik GEEN frames wil gebruiken, tenzij je een manier weet om de inhoud van een frame in hetzelfde bestand te houden...

If nothing is written below, I was the last to reply...


Acties:
  • 0 Henk 'm!

Verwijderd

Op dinsdag 19 februari 2002 10:11 schreef RainManX het volgende:
Is dat mogelijk?

Ik weet dat je een footer kan maken door de tabelhoogte op 100% te zetten (of gebruik te maken van de TFOOT tag) maar het probleem is dan dat de footer niet direct te zien is indien de inhoud van de pagina groter is dan de gereserveerde cel.
dit is idd een bekend probleem van IE, werkt echter wel in Mozilla. Denk dat je daar niet veel aan hebt.

Ik zou als ik jou was een layer in een tabelcel gooien met de properties:
code:
1
overflow: auto;

zodat alleen dit gedeelte van de tabel scrollt

Acties:
  • 0 Henk 'm!

Verwijderd

Op dinsdag 19 februari 2002 10:55 schreef RainManX het volgende:

[..]

True... maar dan niet altijd netjes onderaan, wat ik dus eigenlijk wel wil... net als dat de header en footer altijd evenhoog zijn en dus alleen het middelste veld variabel is... en daarbij komt nog dat ik GEEN frames wil gebruiken, tenzij je een manier weet om de inhoud van een frame in hetzelfde bestand te houden...
geneste frames?
jouw probleem is met 1 source code te verhelpen, wacht ik bouw er 1 voor je :)

Acties:
  • 0 Henk 'm!

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<frameset rows="*,500,*" framespacing="0" frameborder="0" border="0">
 <frame name="top" src="" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" border="0" noresize>
 <frameset cols="*,800,*" framespacing="0" frameborder="0" border="0">
  <frame name="left" src="" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" border="0" noresize>
   <frameset rows="*,300,*" framespacing="0" frameborder="0" border="0">
    <frame name="header" src="" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" border="0" noresize>
     <frameset cols="100,400" framespacing="0" frameborder="0" border="0">
    <frame name="menu" src="" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" border="0" noresize>
    <frame name="canvas" src="" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" border="0" noresize>
     </frameset>
    <frame name="footer" src="" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" border="0" noresize>
   </frameset>
  <frame name="right" src="" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" border="0" noresize>
 </frameset>
 <frame name="bottom" src="" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" border="0" noresize>
</frameset>

Acties:
  • 0 Henk 'm!

  • Rashann
  • Registratie: Maart 2000
  • Laatst online: 12:48

Rashann

Zoek de hond...

Topicstarter
Op dinsdag 19 februari 2002 11:28 schreef Los het volgende:
code:
1
Een bult frames :)
Dat bedoelde ik niet... ik bedoelde de HTML van die IN die frames moet komen in hetzelfde bestand (ipv de regel src="...")

Maar bij de HTML 4.01 specification staat dit: "The contents of a frame must not be in the same document as the frame's definition" dus wat ik wil mag niet helaas...

If nothing is written below, I was the last to reply...


Acties:
  • 0 Henk 'm!

  • Anders
  • Registratie: December 2000
  • Laatst online: 28-09 17:01
Op dinsdag 19 februari 2002 11:14 schreef Shadow3333 het volgende:
Ik zou als ik jou was een layer in een tabelcel gooien met de properties:
code:
1
overflow: auto;

zodat alleen dit gedeelte van de tabel scrollt
Heb/weet je hier een voorbeeld van? Ik krijg dit zo snel niet voor elkaar.

Ik spoor veilig of ik spoor niet.


Acties:
  • 0 Henk 'm!

Verwijderd

Op dinsdag 19 februari 2002 12:03 schreef Anders het volgende:

Heb/weet je hier een voorbeeld van? Ik krijg dit zo snel niet voor elkaar.
yup:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta name="generator"
    content="HTML Tidy, see www.w3.org" />
    <meta http-equiv="content-type"
    content="text/html; charset=iso-8859-1" />

    <title>table</title>
<style type="text/css">
 div.c1 {position: relative; overflow: auto; width: 190px; height: 190px}
 table { border: 1px #000000 solid; width: 200px height: 200px; background-color: #ffffff}
 td {width: 200px; height: 200px;}
</style>
  </head>

  <body>
    <table cellspacing="2" cellpadding="2">
    <tr>
      <td>
        <div class="c1">
        bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
         bla bla bla bla bla bla bla bla bla bla<br />
        </div>
      </td>
    </tr>
    </table>
  </body>
</html>
Pagina: 1