CSS - Sticky footer komt onder container div

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • The.Terminator
  • Registratie: November 2002
  • Laatst online: 23:21

The.Terminator

Un boer met bier

Topicstarter
Ik heb een sticky footer gemaakt in CSS, dit werkt perfect bij andere sites die ik heb gemaakt.
Nu heb ik een andere site waar het niet werkt, enigste verschil is dat de container hier een background image heeft die naar beneden repeat

CSS :

Cascading Stylesheet:
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
html {
    height: 100%;
}

body {
    margin: 0;
    padding: 0;

    background-image: url(../images/background_repeater.png);
    background-position: 0px 0px;
    background-repeat: repeat-x;
    background-color: #ebecec;
    color: #52463f;
    
    height: 100%;
}

.container {
    position: relative;
    width: 1000px;
    margin: 0 auto;
    height: auto !important; /* ie6 ignores !important, so this will be overridden below */
    min-height: 100%; /* ie6 ignores min-height completely */
    height: 100%;
    
    background-image: url(../images/background_container_repeater.png);
    background-position: 0px 0px;
    background-repeat: repeat-y;
    
    margin-bottom: -66px; /* hoogte footer */   
}

.footer {
    width: 100%;
    height: 66px;
    clear: both;
    background-color: #dadbdb;  
}


HTML:
1
2
3
4
5
6
7
8
9
<div class="container">
        <div class="header">
            IETS[s][/s]
        </div>
<div>
Content
</div>
    </div>
    <div class="footer"></div>

Ik zie meerdere oplossingen in Google (clear floats), maar dit werkt niet ...

[ Voor 6% gewijzigd door The.Terminator op 02-12-2011 11:01 ]


Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 17:49

RM-rf

1 2 3 4 5 7 6 8 9

body moet volgens mij geen height: 100% hebben maare en min-height: 100% als je wilt dat de pagina ook verder scollen kan, en de achtergrond dan ook doorloopt op dat deel onder de viewport

met 'height: 100%' maak je een element exact zo groot als de viewport, maar dan houd hij ook op.

[ Voor 21% gewijzigd door RM-rf op 02-12-2011 10:58 ]

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


Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 21:52
wat moeten wij hier nu mee? Fix eerst je code tags, laat je html structuur eens zien... Plaats eventueel een link naar de pagina.

daarbij; waarom heeft die container een position:relative?

Acties:
  • 0 Henk 'm!

  • The.Terminator
  • Registratie: November 2002
  • Laatst online: 23:21

The.Terminator

Un boer met bier

Topicstarter
RM-rf schreef op vrijdag 02 december 2011 @ 10:57:
body moet volgens mij geen height: 100% hebben maare en min-height: 100% als je wilt dat de pagina ook verder scollen kan, en de achtergrond dan ook doorloopt op dat deel onder de viewport

met 'height: 100%' maak je een element exact zo groot als de viewport, maar dan houd hij ook op.
Nu staat de footer niet meer als sticky onderaan :)

EDIT :

Zet ik body weer op height: 100% en haal ik position: relative; van de container, dan staat deze wel goed.
418O2 schreef op vrijdag 02 december 2011 @ 10:59:
wat moeten wij hier nu mee? Fix eerst je code tags, laat je html structuur eens zien... Plaats eventueel een link naar de pagina.

daarbij; waarom heeft die container een position:relative?
Pagina is niet online (test), html bijgevoegd.

[ Voor 6% gewijzigd door The.Terminator op 02-12-2011 11:04 ]


Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 21:52
wat bedoel je met sticky? hij moet onderaan de container komen?

je container schaalt nu niet (omdat hij niet float), je moet hem even wrappen.
HTML:
1
2
3
4
5
6
7
8
9
<div class="wrapper">
     <div class="content"> 
        <div class="header"> 
            IETS[s][/s] 
        </div> 
        Content 
   </div>
    <div class="footer"></div>
<div>

Cascading Stylesheet:
1
2
.wrapper { width:1000px; margin:0 auto; }
.content{ width:1000px;float:left; }


edit: iets beter gemaakt

[ Voor 9% gewijzigd door 418O2 op 02-12-2011 11:19 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Cascading Stylesheet:
1
2
3
4
.footer { 
    position:fixed;
    bottom:0;
}

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • The.Terminator
  • Registratie: November 2002
  • Laatst online: 23:21

The.Terminator

Un boer met bier

Topicstarter
RobIII schreef op vrijdag 02 december 2011 @ 11:22:
Cascading Stylesheet:
1
2
3
4
.footer { 
    position:fixed;
    bottom:0;
}
Hij blijft netjes aan de onderkant, alleen wanneer de tekst aan de onderkant wegvalt, moet de footer meeschuiven naar beneden.

Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 21:52
dan moet je mijn optie gebruiken en de container een min-height van 100% geven en de footer absoluut aan de onderkant van de container positioneren

Acties:
  • 0 Henk 'm!

  • The.Terminator
  • Registratie: November 2002
  • Laatst online: 23:21

The.Terminator

Un boer met bier

Topicstarter
418O2 schreef op vrijdag 02 december 2011 @ 12:33:
dan moet je mijn optie gebruiken en de container een min-height van 100% geven en de footer absoluut aan de onderkant van de container positioneren
Dank voor je antwoord. Het werkt met uitzondering dat de footer over de gehele breedte moet en niet in de wrapper van 1000px; (en gooi ik hem er buiten dan werkt het weer niet).
Even verder puzzelen

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

The.Terminator schreef op vrijdag 02 december 2011 @ 12:57:
[...]


Dank voor je antwoord. Het werkt met uitzondering dat de footer over de gehele breedte moet en niet in de wrapper van 1000px; (en gooi ik hem er buiten dan werkt het weer niet).
Even verder puzzelen
Waarom is ook .wrapper 1000px? Zorg voor een element wat 100% breed is, waar je footer in staat.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • The.Terminator
  • Registratie: November 2002
  • Laatst online: 23:21

The.Terminator

Un boer met bier

Topicstarter
OkkE schreef op vrijdag 02 december 2011 @ 13:07:
[...]

Waarom is ook .wrapper 1000px? Zorg voor een element wat 100% breed is, waar je footer in staat.
Dat deed ik ook, 100%, maar dan stond de container weer niet in het midden.
Maar heb nu een code die lijkt te werken (iig in FF, Safari en IE)

Cascading Stylesheet:
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
* {
    margin: 0px; padding: 0px;
}

html { height: 100%; }

body {
    height: 100%;
    background-image: url(../images/background_repeater.png);
    background-position: 0px 0px;
    background-repeat: repeat-x;
    background-color: #ebecec;
    color: #52463f;
}

#container {
    margin: 0 auto;
    width: 1000px;
    min-height: 100%;
    height: auto !important;
    height: 100%;
    margin-bottom: -25px; /* hoogte footer */
    
    background-image: url(../images/background_container_repeater.png);
    background-position: 0px 0px;
    background-repeat: repeat-y;
}

#spacer {
    display: block !important;
    height: 25px; /* hoogte footer */
}

#footer {
    clear: both;
    height: 25px; /* hoogte footer */
    background: #dadbdb;
}


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
<div id="container">
        <div class="header">

</div>
        
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        CONTENT<br /><br />
        
        <div id="spacer"></div>
    </div>
    <div id="footer">
        <p>Footer tekst</p>
    </div>

Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 21:52
Ga maar even wat tutorials lezen... Er staan namelijk een aantal dingen in je code die echt kant noch wal raken..

hoogte, margin en padding op je html (en body)?
verkeerd uitgevoerde minheighthack
marginbottom omdat je hem 25px van wat wil krijgen precies?
Die spacer heeft geen breedte, dus dat werkt niet.

etc. etc.

[ Voor 34% gewijzigd door 418O2 op 02-12-2011 13:21 ]


Acties:
  • 0 Henk 'm!

  • The.Terminator
  • Registratie: November 2002
  • Laatst online: 23:21

The.Terminator

Un boer met bier

Topicstarter
dat gaan we sowieso doen.
Maar ik lees dat sommige browsers een stukje ruimte tussen body en container div laten.

Ik knutsel iig wel eem verder

[ Voor 43% gewijzigd door The.Terminator op 02-12-2011 13:30 ]


Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 21:52
gebruik dan een resetstylesheet :)

Acties:
  • 0 Henk 'm!

  • mindcrash
  • Registratie: April 2002
  • Laatst online: 22-11-2019

mindcrash

Rebellious Monkey

418O2 schreef op vrijdag 02 december 2011 @ 14:58:
gebruik dan een resetstylesheet :)
Nee, want daar kleven ook allerlei nadelen aan vast.

Liever een normalize stylesheet, zoals deze: http://necolas.github.com/normalize.css/

(trouwens ook terug te vinden in html5boilerplate)

"The people who are crazy enough to think they could change the world, are the ones who do." -- Steve Jobs (1955-2011) , Aaron Swartz (1986-2013)


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-09 08:45

Bosmonster

*zucht*

Reset-CSS wordt alleen gebruikt door developers die eigenlijk niet weten wat verschillende browsers precies doen met standaardstyles en dus maar alles domweg resetten, met alle gevolgen van dien.

Een normalize CSS is een prima alternatief, al ben ik geen fan van sommige onderdelen van die CSS. Zoals bijvoorbeeld de IE7 star-hacks.

Mijn ervaring is eigenlijk dat als je weet wat er gebeurt, je beiden niet nodig hebt.

[ Voor 15% gewijzigd door Bosmonster op 07-12-2011 12:56 ]


Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 21:52
Ik gebruik wel een resetcss, maar wel aangepast (een strong zonder font-weight:bold en fuckedup ul's is natuurlijk kolder).

zie er verder weinig issues mee

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-09 08:45

Bosmonster

*zucht*

Jij vindt een strong zonder bold kolder, maar headers of paragraphs zonder marges niet? Waar trek je dan de grens? ;)

[ Voor 6% gewijzigd door Bosmonster op 07-12-2011 13:10 ]


Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 21:52
Ja dat klopt wel, maar dat is toch per site verschillend...

Maargoed; het wordt tijd om die normalize.css te gaan gebruiken. Heb een standaardplatform waar alles al volgens de gemiddelden is opgemaakt (zoals wij dat over het algemeen) moeten implementeren, dus ik begin al eigenlijk nooit meer vanaf 0.
Pagina: 1