HTML, wie Footer ganz nach unten?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
HTML, wie Footer ganz nach unten?
footer {
  position:fixed;
  bottom:0
}

Alex

alexthenr14 
Fragesteller
 24.04.2023, 17:45

fixed passt auch nicht, es wird immer angezeigt ähnlich zu sticky

Ich möchte nur dass es immer ganz unten steht, egal ob die Seite höher oder niedriger ist als die Bildschirmhöhe

0
EinAlexander  24.04.2023, 17:52
@alexthenr14
Ich möchte nur dass es immer ganz unten steht, egal ob die Seite höher oder niedriger ist als die Bildschirmhöhe
<style>
#page-container {
  position: relative;
  min-height: 100vh;
}

#content-wrap {
  padding-bottom: 2.5rem;
}

#footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 2.5rem;         
}
</style>

 <div id="page-container">
   <div id="content-wrap">
     hello world
   </div>
   <footer id="footer">hello footer</footer>
 </div>
1

Warum benutzt du position: absolute? Der Footer ist doch von alleine schon ganz unten, wenn du ihn im HTML-Skript als letztes hast.

alexthenr14 
Fragesteller
 24.04.2023, 17:40
0
flyaquarius  24.04.2023, 17:52
@alexthenr14

Okay, du willst ihn also ganz unten haben, selbst wenn der Inhalt der Seite das Fenster nicht ausfüllt. Dann probier es so:

body{
  display:flex;
  flex-direction:column;
  min-height:100vh;
  margin: 0;
}
  
.content{
  flex-grow:1;
}

content ist die Klasse eines divs, das du für den Inhalt erstellst, das auch erstmal leer bleiben kann.

0

Da gibt es viele Wege. Ich würde CSS Grid und min-height:100vh bevorzugen, da es flexibel und modern ist:

HTML

<article>
 <header>Header</header>
 <main>Main</main>
 <footer>Footer</footer>
</article>

CSS

article {
 display: grid;
 grid-template-rows: 80px 1fr 80px;
 min-height: 100vh;
}

header {
 padding: 10px;
 background-color: teal;
}
main {
 padding: 10px;
 background-color: white;
}
footer {
 padding: 10px;
 background-color: yellow;
}

Beispiel

https://jsfiddle.net/Babelfisch/yf1ktdcp/1/

Woher ich das weiß:Berufserfahrung – Entwickle Webseiten seit über 25 Jahren.
medmonk  30.04.2023, 20:51

Schicke Lösung!

Dein HTML-Markup ist aber nicht valide. Das <main> Element ist ein Hauptelement und darf laut Spezifikation nicht innerhalb eines <article> Elements folgen. Auch sollten <article> sowie <section> mit einem Heading ausgezeichnet werden.

LG medmonk

0
Babelfish  30.04.2023, 21:05
@medmonk

Ich wollte gerade selbst mal das main Element nachschlagen und so wie es aussieht, gibt es das schon lange nicht mehr bzw. es wurde nicht in die endgültigen HTML5 Specs übernommen. Oder findest du beim W3C was darüber?

1
medmonk  30.04.2023, 21:28
@Babelfish

Tatsache - ich konnte das <main> Element auch nicht beim W3C in den Specs finden. Wenn es dort wäre, dann ja auch unter Grouping Content. Da jetzt selber etwas überrascht wurde und von ausging, es sei längst fest in den Specs.

1