Footer überlappt Content

02/01/2019 10:35 chr1zzLy#1
Servus,

ich bin hier wirklich kurz vorm verzweifeln. Es geht um den Footer, der natürlich immer am unteren Bildschirmrand bleiben soll (sowohl bei wenig, als auch viel Content). Das tut er bei weniger Content auch, sobald der Content allerdings mehr wird, überlappt der Footer den Content einfach.

Ich habe schon etliches ausprobiert und auch schon zu dem Thema gegooglet. Vielleicht ist es auch nur ein kleiner Fehler, den ich einfach net finde.

Hier ist mein aktuellster Lösungsansatz:
HTML Content Bereich
HTML Code:
<div class="wrapper">
       <div class="content">
              <div class="full-width">
                     Hier steht sehr viel Content, der vom Footer überlappt wird.
              </div>
       </div>
</div>
Die CSS dazu
Code:
* {
    box-sizing: border-box;
}

body {
    height: 100%;
}

.content {
  	flex: 1 0 auto;
}

.wrapper {
    min-height: 100%;
    display: flex;
    flex-direction: column; 
}

.footer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 15.5em;
    background-color: black;
    color: white;
    font-family: 'Maven Pro', sans-serif;
    font-size: 13px;
    text-align: center;
}
Der Footer ist mit dem <footer></footer> Tag includet.

Habe euch da nur mal das nötigste aus der CSS rausgeholt. Falls ihr noch mehr braucht, einfach Bescheid geben.
Habe es nun mal mit dem Flexbox-Prinzip versucht, womit ich mich noch net ganz so toll auskenne, aber in der Verzweiflung habe ich schon recht viel ausprobiert.
Hab's auch schon mit der festen Größe vom Footer und 'padding-bottom' im Wrapper versucht - ohne Erfolg.

Bin über jeden neuen Lösungsansatz dankbar & hoffe, dass das bald funktioniert. So schwer kann's ja net sein. Wahrscheinlich bin ich einfach zu blind/blöd, um den Fehler zu finden. :p
02/01/2019 14:38 False#2
Quote:
Originally Posted by chr1zzLy View Post
Servus,

ich bin hier wirklich kurz vorm verzweifeln. Es geht um den Footer, der natürlich immer am unteren Bildschirmrand bleiben soll (sowohl bei wenig, als auch viel Content). Das tut er bei weniger Content auch, sobald der Content allerdings mehr wird, überlappt der Footer den Content einfach.

Ich habe schon etliches ausprobiert und auch schon zu dem Thema gegooglet. Vielleicht ist es auch nur ein kleiner Fehler, den ich einfach net finde.

Hier ist mein aktuellster Lösungsansatz:
HTML Content Bereich
HTML Code:
<div class="wrapper">
       <div class="content">
              <div class="full-width">
                     Hier steht sehr viel Content, der vom Footer überlappt wird.
              </div>
       </div>
</div>
Die CSS dazu
Code:
* {
    box-sizing: border-box;
}

body {
    height: 100%;
}

.content {
  	flex: 1 0 auto;
}

.wrapper {
    min-height: 100%;
    display: flex;
    flex-direction: column; 
}

.footer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 15.5em;
    background-color: black;
    color: white;
    font-family: 'Maven Pro', sans-serif;
    font-size: 13px;
    text-align: center;
}
Der Footer ist mit dem <footer></footer> Tag includet.

Habe euch da nur mal das nötigste aus der CSS rausgeholt. Falls ihr noch mehr braucht, einfach Bescheid geben.
Habe es nun mal mit dem Flexbox-Prinzip versucht, womit ich mich noch net ganz so toll auskenne, aber in der Verzweiflung habe ich schon recht viel ausprobiert.
Hab's auch schon mit der festen Größe vom Footer und 'padding-bottom' im Wrapper versucht - ohne Erfolg.

Bin über jeden neuen Lösungsansatz dankbar & hoffe, dass das bald funktioniert. So schwer kann's ja net sein. Wahrscheinlich bin ich einfach zu blind/blöd, um den Fehler zu finden. :p
Wie willst du den Footer den haben ? Soll er immer ganz unten sein oder soll der Footer fixiert sein ?
Wenn der Footer fixiert sein soll kannst du einfach dem Wrapper div einfach ein padding-bottom geben.
Beispiel: [Only registered and activated users can see links. Click Here To Register...]
02/01/2019 14:44 chr1zzLy#3
Quote:
Originally Posted by False View Post
Wie willst du den Footer den haben ? Soll er immer ganz unten sein oder soll der Footer fixiert sein ?
Wenn der Footer fixiert sein soll kannst du einfach dem Wrapper div einfach ein padding-bottom geben.
Beispiel: [Only registered and activated users can see links. Click Here To Register...]
Der Footer soll immer ganz unten sein.
02/01/2019 15:00 False#4
Quote:
Originally Posted by chr1zzLy View Post
Der Footer soll immer ganz unten sein.
Da nie was mit CSS am Hut habe kann ich nur das gröbste und kann es dir nicht erklären.
Habe aber ein gutes Beispiel gefunden: [Only registered and activated users can see links. Click Here To Register...]
02/01/2019 15:19 chr1zzLy#5
Quote:
Originally Posted by False View Post
Da nie was mit CSS am Hut habe kann ich nur das gröbste und kann es dir nicht erklären.
Habe aber ein gutes Beispiel gefunden: [Only registered and activated users can see links. Click Here To Register...]
Klappt leider auch net, auch wenn ich alles 10x rumprobiere... ^^ Trotzdem danke. Ich poste euch jetzt mal meine komplette CSS-File, da meine Verzweiflung sich so langsam wirklich auf höchstem Level bewegt. :o :p


Das HTML-Konstrukt sieht in etwa so aus:

HTML Code:
<div class="wrapper">
       <div class="content">
              <div class="full-width">
                     Hier steht sehr viel Content, der vom Footer überlappt wird.
              </div>
       </div>
</div>

<footer class="footer">
      Mein Footertext
</footer>
02/01/2019 15:52 type.#6
Die Lösung ist eigentlich recht simpel, wenn man weiß, auf was man achten muss. Ich hatte, als ich das erste mal damit konfrontiert war auch ziemliche Probleme einen Weg zu finden, den Footer so zu positionieren, wie ich das will.

Code:
body {
  
  position: relative;

  margin: 0; padding: 0 0 16em 0;
  min-height: 100vh;

}


.footer {

  position: absolute;
  bottom: 0; left: 0; right: 0;

  height: 15.5em;

}

position: relative; sorgt dafür, dass dein Footer im Document-Flow richtig eingeordnet wird. min-height: 100vh; (statt height: 100%;) sogt dafür, dass dein Body immer mindestens 100% des Viewports hoch ist. Die Einheit VH steht hierbei für ViewportHeight – Prozentangaben funktionieren hier nicht.
Das Padding am unteren Rand sollte mindestens der Höhe deines Footers entsprechen, damit kein Content dahinter verschwinden kann.

Am CSS für den Footer musst du eigentlich nichts weiter ändern.
Zum Anschauen hier noch mal ein funktionierendes Fiddle: [Only registered and activated users can see links. Click Here To Register...]
02/01/2019 17:38 chr1zzLy#7
Quote:
Originally Posted by type. View Post
Die Lösung ist eigentlich recht simpel, wenn man weiß, auf was man achten muss. Ich hatte, als ich das erste mal damit konfrontiert war auch ziemliche Probleme einen Weg zu finden, den Footer so zu positionieren, wie ich das will.

Code:
body {
  
  position: relative;

  margin: 0; padding: 0 0 16em 0;
  min-height: 100vh;

}


.footer {

  position: absolute;
  bottom: 0; left: 0; right: 0;

  height: 15.5em;

}

position: relative; sorgt dafür, dass dein Footer im Document-Flow richtig eingeordnet wird. min-height: 100vh; (statt height: 100%;) sogt dafür, dass dein Body immer mindestens 100% des Viewports hoch ist. Die Einheit VH steht hierbei für ViewportHeight – Prozentangaben funktionieren hier nicht.
Das Padding am unteren Rand sollte mindestens der Höhe deines Footers entsprechen, damit kein Content dahinter verschwinden kann.

Am CSS für den Footer musst du eigentlich nichts weiter ändern.
Zum Anschauen hier noch mal ein funktionierendes Fiddle: [Only registered and activated users can see links. Click Here To Register...]
Danke dir. Hab's nun hinbekommen, was ein Krampf. ^^ Ist zwar noch net die perfekte Lösung, aber immerhin ist der Footer jetzt mal da, wo er hin soll. ^^
02/01/2019 20:58 JustinMind#8
Du kannst auch die neuere Variante "Flexbox" nutzen:
[Only registered and activated users can see links. Click Here To Register...]

Flexbox wird mittlerweile von sehr vielen Browser(-versionen) unterstützt.
Siehe: [Only registered and activated users can see links. Click Here To Register...]
02/01/2019 21:36 type.#9
Quote:
Originally Posted by chr1zzLy View Post
Danke dir. Hab's nun hinbekommen, was ein Krampf. ^^ Ist zwar noch net die perfekte Lösung, aber immerhin ist der Footer jetzt mal da, wo er hin soll. ^^
Naja, es ist zumindest eine saubere Lösung mittels CSS.
Das blöde daran ist eben, dass dein Footer eine Höhe gesetzt haben muss. Dem kannst du aber ganz eifnach Abhilfe schaffen, in dem du dir den Lösungvorschlag mit Flexbox anschaust:
Quote:
Originally Posted by JustinMind View Post
Du kannst auch die neuere Variante "Flexbox" nutzen
Hier übernimmt der Browser quasi alle Berechnungen und du kannst dich ganz auf den Rest des Layouts konzentrieren, ohne immer über den blöden Footer nachdenken zu müssen. c:

Demofiddle gibts auch: [Only registered and activated users can see links. Click Here To Register...]
02/01/2019 21:40 chr1zzLy#10
Quote:
Originally Posted by type. View Post
Naja, es ist zumindest eine saubere Lösung mittels CSS.

Das blöde daran ist eben, dass dein Footer eine Höhe gesetzt haben muss. Dem kannst du aber ganz eifnach Abhilfe schaffen, in dem du dir den Lösungvorschlag mit Flexbox anschaust:





Hier übernimmt der Browser quasi alle Berechnungen und du kannst dich ganz auf den Rest des Layouts konzentrieren, ohne immer über den blöden Footer nachdenken zu müssen. c:



Demofiddle gibts auch: [Only registered and activated users can see links. Click Here To Register...]


Stimmt. Jetzt passt der Footer erst mal und ich kann mich endlich auf das richtige Layout konzentrieren. Mit Flexbox mach ich den dann in der finalen Version.

Nervt mich schon, dass ich jetzt so viele Stunden an dem blöden Ding gehangen habe, obwohl es doch so einfach war. Na ja... Danke an alle für die hilfreichen Antworten! :) :p