Scrollende div met variabele hoogte

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

  • emkedouwe
  • Registratie: September 2001
  • Laatst online: 26-11-2021
Hallo,

Ik wil het volgende ontwerp maken met het totaal 100% hoogte:

header: vaste hoogte
content: variabele hoogte, overflow geeft scrollbar
footer: vaste hoogte

Eerst heb ik het geprobeerd met 3 div's onder elkaar maar dat werd niets. Nu probeer ik het via een tabel. In principe werkt het nu in Internet Explorer maar het moet ook werken in Firefox. Het liefst wil ik niet met een iFrame werken.

De code tot nu toe:
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    <HEAD>
        <TITLE>test</TITLE>
    </HEAD>
    <BODY style="height: 100%; margin: 0px; padding: 0px;">
        <table height="100%" border=1>
            <tr height="125px;">
                <td>test</td>
            </tr>
            <tr>
                <td>
                     <div style="height:100%;overflow-y:scroll;">
                            tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa
                            tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa
                            tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa
                            tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa
                            tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa tralalalaa 
                    </div>
                </td>
            </tr>
            <tr height="125px;">
                <td>test</td>
            </tr>
        </table>
    </BODY>
</html>

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

'overflow-y' werkt gewoon vanaf FireFoy 1.0, zelfs zonder prefix:
http://annevankesteren.nl/2004/09/overflow

Ik denk eerder dat het probleem mogelijk ligt in de Tabel, die je volgens mij hier enkel voor visuele layout gebruikt en die juist voor zulke positioneringszaken desastreus kan werken,

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • emkedouwe
  • Registratie: September 2001
  • Laatst online: 26-11-2021
Ja maar die tabel heb ik juist geplaatst omdat je in firefox weer een probleem hebt met height: 100%;

  • Mysteryman
  • Registratie: Februari 2001
  • Laatst online: 06-04 20:06

Mysteryman

kan jij wat ik kan...

emkedouwe schreef op donderdag 09 maart 2006 @ 13:50:
Ja maar die tabel heb ik juist geplaatst omdat je in firefox weer een probleem hebt met height: 100%;
m.b.t. html en css heeft firefox geen problemen maar is IE irri!

en ontopic... ik denk inderdaad dat de tabel de beperking is... probeer het eens zonder de tabel en geef de divjes een position: relative; mee

Everybody happy??? I soon change that here we go...


  • emkedouwe
  • Registratie: September 2001
  • Laatst online: 26-11-2021
Ja dan zou je zoiets krijgen:
code:
1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    <HEAD>
        <TITLE>test</TITLE>
    </HEAD>
    <BODY style="height: 100%; margin: 0px; padding: 0px;">
        <div style="position: relative; height: 125px; background-color: red;">test</div>
        <div style="position: relative; height: 100%;">test</div>
        <div style="position: relative; height: 125px; background-color: red;">test</div>
    </BODY>
</html>

Het vervelende is dan dat die middelste div 100% neemt van het totale scherm. Oftwel je krijgt een scrollbar en die onderste div komt daar onder te staan.

  • emkedouwe
  • Registratie: September 2001
  • Laatst online: 26-11-2021
Volgens mij is de enige cross browser oplossing toch met een iFrame:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    <HEAD>
        <TITLE>test</TITLE>
    </HEAD>
    <BODY style="height: 100%; margin: 0px; padding: 0px;">
        <table height="100%" border=1>
            <tr height="125px;">
                <td>test</td>
            </tr>
            <tr>
                <td>
                     <iframe src="http://www.google.com" height="100%"></iframe>
                </td>
            </tr>
            <tr height="125px;">
                <td>test</td>
            </tr>
        </table>
    </BODY>
</html>

Iemand nog betere ideeën ?

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 09:05

orf

Pagina: 1