HTML superposition de hauteur pour couvrir l'ensemble de la page visible
J'ai une page web qui se charge de certaines choses en utilisant AJAX. Je veux afficher une superposition avec un indicateur de chargement tandis que le chargement est en cours, de sorte que l'utilisateur ne peut pas interagir avec la plupart de la page - à l'exception de la barre de menu en haut. Je suis à l'aide de jQuery et de jQuery plugin BlockUI pour ce faire.
J'appelle $(element).bloc() et il fonctionne très bien, mais la superposition seulement s'étend aussi loin que le contenu de ma page. Comme de plus en plus le contenu est chargé et ajouté à la page de la superposition se déplace vers le bas avec elle, et c'est un peu laid. Idéalement, j'aimerais qu'il couvre l'ensemble de la zone visible de la page de droite dès le début. Un simple hack pour ce faire serait de créer une grande valeur de la hauteur de la superposition, comme ceci:
$(myElement).block({
overlayCSS: {
height: '10000px'
}
});
... mais cela crée une barre de défilement! Comment puis-je éviter cela et de le rendre juste la bonne hauteur pour couvrir la page visible, mais pas l'agrandir?
OriginalL'auteur EMP | 2010-03-29
Vous devez vous connecter pour publier un commentaire.
Utilisation
position: fixed;
au lieu deposition: absolute
. De cette façon, la superposition va pas bouger, même si vous faites défiler.position fixe est la solution, et si la page est en utilisant les en-têtes et pieds de page chargée dynamiquement/ajouté par un autre modèle, assurez-vous de placer la superposition de la div au bon endroit, de sorte qu'il couvre l'en-tête et pied de page, ainsi...
OriginalL'auteur caruzko
En XHTML, html et des éléments du corps ne sont pas aussi magique que dans HTML. L'élément de corps de ne pas remplir la fenêtre d'affichage (fenêtre) automatiquement, sa taille est seulement aussi grand que son contenu.
Pour en faire un élément de remplissage de la fenêtre, vous devez d'abord faire de l'html et des éléments du corps de remplissage de la fenêtre:
Ensuite, vous pouvez utiliser
height: 100%;
sur un élément dans le corps afin qu'il couvre toute la hauteur.OriginalL'auteur Guffa
Ensemble
position
àabsolute
et à hauteur de 100%.OriginalL'auteur Daniel A. White
J'ai fait un exemple complet pour vous, maintenant vous pouvez l'utiliser dans votre application et et à se cacher après une requête ajax terminé.
Cliquez sur ici!
OriginalL'auteur safkass
Le code suivant a fini par travailler pour moi:
J'ai utilisé le post suivant comme référence: Faire des div à 100% de la hauteur de la fenêtre du navigateur
la seule modification que j'avais à faire était ajout de gauche et de droite. Mon overlay ne couvrant que la moitié de l'écran.
OriginalL'auteur Kremena Lalova