Toon posts:

Footer probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey,

Ik wil graag dat de footer onderaan de pagina komt te staan en mee beweegt wanneer de content langer is dan de viewport van de browser. Dus wanneer de tekst korter is dan de viewport dat dan de footer onderaan de viewport komt te staan en als de tekst langer is dan de viewport dat ie dan mee gaat met de tekst.

Nu heb ik onderstaande code en deze werkt perfect in IE, maar in Firefox komt de footer niet onderaan de viewport te staan als de tekst korter is dan de viewport (de footer beweegt wel mee met de content).

Weet iemand wat ik fout doe?

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
<html>
<head>
<title></title>
<style type="text/css">

html { 
    width: 100%; 
    height: 100%;
}
html>body, html>body #holder { 
    height: auto;
}
body { 
    position: relative;
    min-height: 100%;
    margin: 0; 
    padding: 0; 
    background: url(images/achtergrond2.jpg) repeat-y 50% 0;
}
#holder { 
    min-height: 100%;
    width: 748px;
    position: relative; 
    margin: 0 auto;
    height: 100%;
}
#header {
    height: 71px; 
    background: url(images/index_01.jpg) no-repeat; 
    border: none; 
    width: 100%;
}
#nav {
    width: 186px; 
    float: left; 
    padding-bottom: 3em; 
    height: auto;
}
#content {
    margin-left: 191px; 
    margin-top: 60px; 
    padding-bottom: 3em; 
    height: auto;
    background: url(images/index_12.jpg) no-repeat;
    background-position: top right;
}
#balkonder3 {
    position: absolute;
    top: 109px;
    left: 186px;
    width: 562px;
    height: 23px;
    background: url(images/index_10.jpg) no-repeat;
}
#footer {
    clear: both; 
    width: 748px;
    height: 20px;   
    background-color: gray;
    position: absolute; 
    bottom: 0; 
    left: 0; 
    border: none; 
}
#navigatie {
    position: absolute;
    top: 71px;
    left: 0px;
    width: 259px;
    height: 18px;
    background: url(images/index_02.jpg) no-repeat; 
}
#home {
    position: absolute;
    top: 71px;
    left: 259px;
    width: 74px;
    height: 18px;
}   
#informatie {
    position: absolute;
    top: 71px;
    left: 333px;
    width: 109px;
    height: 18px;
}   
#diensten {
    position: absolute;
    top: 71px;
    left: 442px;
    width: 94px;
    height: 18px;
}   
#portfolio {
    position: absolute;
    top: 71px;
    left: 536px;
    width: 104px;
    height: 18px;
}   
#contact {
    position: absolute;
    top: 71px;
    left: 640px;
    width: 108px;
    height: 18px;
}   
#balkonder {
    position: absolute;
    top: 89px;
    left: 0px;
    width: 748px;
    height: 20px;
    background: url(images/index_08.jpg) no-repeat;
}
#balkonder2 {
    position: absolute;
    top: 109px;
    left: 0px;
    width: 186px;
    height: 34px;
    background: url(images/index_09.jpg) no-repeat;
}
#klantenlogin {
    position: absolute;
    top: 143px;
    left: 0px;
    width: 186px;
    height: 114px;
    background: url(images/index_13.jpg) no-repeat;
}
#headlines {
    position: absolute;
    top: 257px;
    left: 0px;
    width: 186px;
    height: 334px;
    font-family: Verdana, Century Gothic, Arial;
    font-size: 10px;
    color: #5E5E5E;
    background: url(images/index_14.jpg) no-repeat;
}
#nav p, #content p {
    margin: 0px 10px 10px 10px;
    font-family: Verdana, Century Gothic, Arial;
    font-size: 10px;
    color: #000000;
    line-height: 155%;
    width: 365px;


}
#nav ul {margin-left: 0; padding-left: 0;}
#nav li {margin: 0 1em 0 2em;}
</style>
<!--[if lt IE 7]>
        <style type="text/css"> body { height: 100%; } </style>
  <![endif]-->
</head>
<body>
<div id="holder">
            <div id="header">
                     </div>
           <div id="navigatie">
                     </div>
            <div id="home">
                    </div>
           <div id="informatie">
                    </div>
           <div id="diensten">
                    </div>
           <div id="portfolio">
                    </div>
           <div id="contact">
                   </div>
           <div id="balkonder">
                   </div>
           <div id="nav">
                  <div id="balkonder2">
                             </div>
                  <div id="klantenlogin">
                             </div>
                  <div id="headlines">
                             </div>
                   </div>
           <div id="balkonder3">
                   </div>
           <div id="content">

<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam convallis est sed sapien. Nunc viverra dolor. Quisque luctus pulvinar arcu. Phasellus condimentum lorem nec purus. Curabitur sagittis, nisl nec ullamcorper tempor, enim arcu venenatis tellus, id accumsan magna lacus sed sem. Nulla facilisi. Suspendisse et erat. Suspendisse potenti. Phasellus lacus. Praesent est. Quisque dolor massa, sagittis sit amet, porttitor et, semper at, lacus. Sed facilisis arcu venenatis nisi aliquam laoreet. Quisque euismod dolor eu urna. Cras varius libero vitae nulla. Sed vitae elit vel tellus ullamcorper consectetuer. Vestibulum vitae purus at turpis auctor rutrum. 
</p>

                 </div>
          <div id="footer">
                </div>
</div>
</body>
</html>

(ik heb de html tags enzo even weggelaten)

[ Voor 15% gewijzigd door Verwijderd op 21-01-2006 12:36 ]


  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Ik heb je file even getest... Maar ik krijg de footer gewoon onderaan hoor met FireFox 1.5...
Of snap ik jouw probleem niet? :)

Verwijderd

Topicstarter
Bedankt voor je reactie, maar als ik de code test dan gaat de code mee met de lengte van de tekst die ik er in heb staan. Als ik de code nog een keer test in Firefox 1.5 dan gaat die footer over alles heen en komt ie net onder de tekst te staan. Dus hij staat niet onderaan de viewport....

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Ik heb even een screenshot gemaakt...
Afbeeldingslocatie: http://flipdesign.nl/GoT/test.png
Het gaat (neem ik aan) om de grijze balk? :)
Deze wil je (als ik je verhaal dus zo hoor, dezelfde breedte geven als je tekst? :?

Verwijderd

Topicstarter
Nee, ik wil hem onderaan de viewport krijgen, dus hij moet tegen de statusbalk van de browser aanzitten als de tekst minder lang is dan de viewport en als de tekst langer is dan moet die grijze balk mee naar beneden (dit werkt al).

Nu is het probleem dat wanneer de tekst korter is dan de viewport dat dan de grijze balk naar boven gaat met de tekst mee (alleen in Firefox, ie doet dat wel goed)

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Verwijderd schreef op zaterdag 21 januari 2006 @ 12:12:
Nee, ik wil hem onderaan de viewport krijgen, dus hij moet tegen de statusbalk van de browser aanzitten als de tekst minder lang is dan de viewport en als de tekst langer is dan moet die grijze balk mee naar beneden (dit werkt al).

Nu is het probleem dat wanneer de tekst korter is dan de viewport dat dan de grijze balk naar boven gaat met de tekst mee (alleen in Firefox, ie doet dat wel goed)
Hmmm... Oké, ik snap je probleem inmiddels.

Ik zou dan gaan denken aan om in je CSS min-height te gebruiken oid, alleen dit werkt niet in elke browser... (Ik weet eigenlijk ook niet of ik hiermee goed zit). Anders kan je denk ik ook nog gaan denken aan positionering... Mocht dat ook niet werken, dan denk ik dat je een JS scriptje er voor moet gaan gebruiken... :)

Nadeel bij een Javascript kan denk ik zijn, dat als je scrollt, dat de grijze balk dan niet meescrolled en later pas naar beneden 'valt'...

[ Voor 8% gewijzigd door CH4OS op 21-01-2006 12:23 ]


  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 09:38
In welke andere browsers test je het nog meer?
Als je css w3c compatible is, dan ligt het probleem niet bij jou maar bij die andere browser...

[ Voor 52% gewijzigd door _eXistenZ_ op 21-01-2006 12:22 ]

There is no replacement for displacement!


Verwijderd

Topicstarter
Ik heb getest in IE en Firefox en in IE werkt het wel zoals het moet horen, maar in Firefox zet ie de footer niet onderaan de viewport als de tekst korter is dan je browserviewport.

Zoals je ziet heb ik al aan aantal keren min-height erin staan, maar waarschijnlijk doe ik iets fout, maar wat...?

  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 09:38
Hier blijft de IE pagina zelfs helemaal wit :S (Ie 6.0.2900.2180.xpsp_sp2_gdr.050301-1519)

There is no replacement for displacement!


Verwijderd

Topicstarter
Ook geen tekst?

  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 09:38
Nee, een lege witte pagina.

[/slowchat mode]

There is no replacement for displacement!


Verwijderd

Topicstarter
dat kan haast niet, want hij moet toch sowieso de tekst weergeven?
Maar buiten dat, weet je misschien waar het aan kan liggen dat ie in Firefox niet helemaal goed werkt?

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Het is misschien een mierenneukertje, maar wat misschien kan helpen is je pagina door een validator heen te gooien, hij heeft een paar (kleine) foutjes die misschien wel de oorzaak zijn van je probleem... :)

Verwijderd

Topicstarter
ja sorry, weet waar het aan ligt, heb wat html tags niet goed afgesloten. Sorry. Heb nu in eerste bericht veranderd. Maar dit had ik alleen in mijn post verkeerd gedaan. In de originele code staat het wel goed!

Heb ook al door de validator gehaald en hij geeft 2 fouten met betrekking tot javascript, maar daar kan het niet aanliggen en snap ook die hele foutmelding niet, want alles ziet er goed uit in dat javascript.

[ Voor 61% gewijzigd door Verwijderd op 21-01-2006 12:38 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 12:56

crisp

Devver

Pixelated

min-height op het body-element lijkt niet goed te werken in Ff 1.5 (en Opera 9 preview). Lijkt mij een bug...

Overigens wel op te lossen door de overflow op het body-element te zetten ipv op het html-element:
HTML:
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 HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<style type="text/css">

html { 
    height: 100%;
    overflow: hidden;
}
body {
    height: 100%;
    margin: 0; 
    padding: 0;
    overflow: auto;
}
#holder { 
    min-height: 100%;
    width: 748px;
    position: relative; 
    margin: 0 auto;
}
p {
    margin: 0;
    padding: 5px;
}
#footer {
    width: 748px;
    height: 20px;    
    background-color: gray;
    position: absolute; 
    bottom: 0; 
    left: 0; 
}

</style>
<!--[if lt IE 7]>
        <style type="text/css">#holder { height: 100%; } </style>
  <![endif]-->
</head>
<body>
<div id="holder">
    <div id="content">
        <p>
            Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam convallis est sed sapien. Nunc viverra dolor. Quisque luctus pulvinar arcu. Phasellus condimentum lorem nec purus. Curabitur sagittis, nisl nec ullamcorper tempor, enim arcu venenatis tellus, id accumsan magna lacus sed sem. Nulla facilisi. Suspendisse et erat. Suspendisse potenti. Phasellus lacus. Praesent est. Quisque dolor massa, sagittis sit amet, porttitor et, semper at, lacus. Sed facilisis arcu venenatis nisi aliquam laoreet. Quisque euismod dolor eu urna. Cras varius libero vitae nulla. Sed vitae elit vel tellus ullamcorper consectetuer. Vestibulum vitae purus at turpis auctor rutrum. 
        </p>
    </div>
    <div id="footer">
    </div>
</div>
</body>
</html>

[ Voor 89% gewijzigd door crisp op 21-01-2006 13:11 ]

Intentionally left blank


Verwijderd

Topicstarter
Bedankt voor je reactie, maar dit werkt niet, want als je de tekst langer maakt dan krijg je geen scrollbar meer

Verwijderd

Topicstarter
Ik heb eindelijk de oorzaak gevonden!!

Voor diegene die dit probleem ook hebben:
Ik heb de container div een absolute positie gegeven i.p.v relative en bij left 50% in gevuld en een margin van -de helft van de totale breedte, dus:

Als je pagina 600 pixels breed is (gecentreerd) dan krijg je dit:

code:
1
2
3
4
5
#container {
position: absolute;
left: 50%;
margin: -300;
}


Ik hoop dat er mensen zijn die hier ook baat bij hebben want ik zocht me een ongeluk naar de oplossing.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 12:56

crisp

Devver

Pixelated

Verwijderd schreef op zaterdag 21 januari 2006 @ 20:22:
Bedankt voor je reactie, maar dit werkt niet, want als je de tekst langer maakt dan krijg je geen scrollbar meer
Toch wel - althans in mijn versimpelde voorbeeld.

En persoonlijk probeer ik absolute positioning te vermijden als het niet nodig is; zeker de 'negatieve margin-truuk' voor centrering ben ik niet echt dol op...

Intentionally left blank


Verwijderd

Topicstarter
Waarom ben je daar niet dol op? Want het werkt wel, toch?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 12:56

crisp

Devver

Pixelated

Verwijderd schreef op zondag 22 januari 2006 @ 13:05:
Waarom ben je daar niet dol op? Want het werkt wel, toch?
crisp in "Probleem Met CSS-Styling" ;)

Intentionally left blank


Verwijderd

Heel simpel gezegd: als de breedte van het venster kleiner is dan de breedte van het op die manier gecentreerde element, kun je niet naar links scrollen. Er kan dus een deel buiten beeld vallen dat met geen mogelijkheid te bekijken is.

Met margin-left: auto; margin-right: auto; op het te centreren element, en voor quirks mode en oudere versies van IE text-align: center; op het parent element en eventueel text-align: left; op he te centreren element heb je dat probleem niet. Daar staat het element gewoon zoveel mogelijk naar links, en als het venster dan te smal is, kun je gewoon naar rechts scrollen.

Verwijderd

Topicstarter
Maar aangezien mijn site 748 px breed is, is het goed te bekijken op een resolutie van 800x600 en de meesten hebben 800x600 of groter.

Verwijderd

Maar niet iedereen heeft z'n browser gemaximaliseerd waardoor het venster toch kleiner dan die 748 px is. En daarmee zijn de andere problemen die crips noemde nog niet opgelost ;)

[ Voor 28% gewijzigd door Verwijderd op 22-01-2006 15:46 ]

Pagina: 1