Ich bin ziemlich gut darin, Dinge zum Laufen zu bringen, da ich einen Programmierhintergrund habe, aber mir fehlt die Design-/Visualabteilung. Ich baue eine Website für einen Freund und eines der Dinge, die er möchte, ist eine Fußzeile am Ende jeder Seite mit ein paar nützlichen Links. Wie auch immer, wenn die Seite ziemlich viel Inhalt hat, sieht sie gut aus, immer am unten auf der Seite, aber wenn nicht so viel auf der Seite ist, erscheint es dort, wo der Inhalt aufhört und die Seite nach oben schneidet, mit einer großen unansehnlichen Lücke darunter.
Ich habe versucht, nach ein paar Tutorials zu suchen, aber die, die ich gefunden habe, waren entweder für klebrige Fußzeilen, die immer auf dem Bildschirm blieben, oder waren (meiner Meinung nach) schlecht erklärt.
Ich habe versucht, min-height zu verwenden, aber wenn das Fenster größer als min height ist, bekomme ich immer noch die unansehnliche Lücke. Gibt es dafür einen „richtigen“ Weg?
Es gibt ein paar Ansätze, die Sie verfolgen könnten. Erstens, und meine Lieblingslösung, ist, html
die gleiche Hintergrundfarbe wie die Unterseite meiner Fußzeile zu haben, damit der Übergang nicht so offensichtlich ist.
Sie können auch die vh
Einheit verwenden, die 1 % der Höhe des aktuellen Ansichtsfensters entspricht. Es wird nicht von allen Browsern oder Geräten unterstützt, aber es macht einen guten Job, immer etwas am unteren Rand des Bildschirms (oder darunter) zu haben.
Dies ist eine Stapelüberlauffrage. Nicht Grafikdesign.
Um darauf zu antworten, müssen Sie jedoch Javascript verwenden. Berechnen Sie nach dem Rendern der Seite die Höhe des Darstellungsbereichs und dann die Höhe des Inhaltsbereichs. Verwenden Sie dann Javascript, um das Layout nach Bedarf anzupassen.
Ich würde das aber nicht empfehlen. Im Web befindet sich die Fußzeile normalerweise am unteren Rand des Inhalts – nicht am unteren Rand des Browsers. Hier erwarten die Leute es.
Dies ist möglich, aber ein bisschen schwierig. Was Sie brauchen, ist ein HTML mit 3 Divs:
<div id="page">
<div id="main">
<p>This is the contents on the page</p>
</div>
</div>
<div id="footer">
<p>stuff</p>
</div>
Dann folgendes CSS:
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#page {
min-height: 100%;
}
#main {
overflow: auto;
padding-bottom: 100px;
}
#footer {
background: #ccc;
clear: both;
height: 100px;
margin-top: -100px;
padding-top: 0;
position: relative;
width: 100%;
}
Die Idee ist, dass #page die Fußzeile nach unten spült. Die -100 Margin-Spitze bringt es ins Spielfeld. Und das #main hält die Fußzeile leer, wenn die Seite zu groß für den Inhalt ist. Wenn Sie Inhalte in ein div mit Polsterung in der Fußzeile einfügen, achten Sie darauf, die Fußzeile entsprechend zu kürzen.
Oder vielleicht möchten Sie es in diesem Fall umgekehrt. Machen Sie einfach html zur Farbe Ihrer Fußzeile, dann machen Sie die Kopfzeile weiß und lassen Sie die Fußzeile größtenteils normal sein.
{ min-height: 100%; }
es sei denn, der Inhalt ist größer als die Bildschirmhöhe (siehe letzte Fragezeile).
Wayne Werner
Yisela
Adam
Hanna
height:100%
, den Inhalt bis zur Fußzeile zu erweitern?Männlich
joojaa
DA01
DA01
JMD
Zach Saucier