HTML-Überlagerungshöhe für die gesamte sichtbare Seite

7

Ich habe eine Webseite, die einige Sachen mit AJAX lädt. Ich möchte ein Overlay mit einer Ladeanzeige anzeigen, während der Ladevorgang läuft, so dass der Benutzer nicht mit den meisten Seiten interagieren kann - mit Ausnahme des Menüs oben. Ich verwende jQuery und das jQuery BlockUI-Plugin , um dies zu tun.

Ich rufe $ (element) .block () auf und es funktioniert gut, aber das Overlay erstreckt sich nur bis zum aktuellen Inhalt meiner Seite. Wenn mehr Inhalt geladen und der Seite hinzugefügt wird, bewegt sich das Overlay mit und es sieht etwas hässlich aus. Im Idealfall möchte ich, dass der gesamte sichtbare Bereich der Seite von Anfang an abgedeckt wird. Ein einfacher Hack dafür wäre, einen großen Wert für die Höhe der Überlagerung zu setzen:

%Vor%

... aber das schafft eine Bildlaufleiste! Wie vermeide ich das und mache es nur die richtige Höhe, um die sichtbare Seite zu bedecken, aber nicht vergrößern?

    
EMP 29.03.2010, 01:24
quelle

6 Antworten

23

Verwenden Sie position: fixed; anstelle von position: absolute . Auf diese Weise wird die Überlagerung nicht bewegt, selbst wenn Sie blättern.

    
caruzko 19.06.2011 11:59
quelle
2

In XHTML sind die HTML- und Body-Elemente nicht ganz so magisch wie in HTML. Das body-Element füllt das Ansichtsfenster nicht automatisch, seine Größe ist nur so groß wie der Inhalt.

Damit ein Element das Fenster füllt, müssen Sie zuerst die HTML- und body-Elemente füllen:

%Vor%

Dann können Sie height: 100%; für ein Element im Körper verwenden, damit es die gesamte Höhe abdeckt.

    
Guffa 29.03.2010 01:31
quelle
0

Setzen Sie position auf absolute und height auf 100%.

    
Daniel A. White 29.03.2010 01:28
quelle
0

Ich habe ein vollständiges Beispiel für Sie erstellt, jetzt können Sie das in Ihrer Anwendung verwenden und es einfach ausblenden, nachdem die Ajax-Anfrage abgeschlossen wurde.

Klicken Sie hier !

%Vor%     
safkass 25.02.2014 16:12
quelle
0

Arbeitete für mich! Ich habe absolute in fixed geändert.

%Vor% %Vor% %Vor%
    
victortav 11.08.2016 20:29
quelle
0

Der folgende Code funktionierte für mich:

%Vor%

Ich habe den folgenden Beitrag als Referenz verwendet: Machen div 100% Höhe von Browserfenster Die einzige Änderung, die ich tun musste, war, links und rechts hinzuzufügen. Mein Overlay bedeckt nur die Hälfte des Bildschirms.

    
Kremena Lalova 04.06.2015 13:26
quelle

Tags und Links