J'utilise jQuery pour créer une "boîte de dialogue" qui devrait apparaître en haut de la page et au centre de la page (verticalement et horizontalement). Comment dois-je m'y rendre rester au centre de la page (même lorsque l'utilisateur redimensionne ou fait défiler?)Comment conserver une div au centre de la page?
Répondre
J'utiliseraient
position: fixed;
top: 50%;
left: 50%;
margin-left: -(dialogwidth/2);
margin-top: -(dialogheight/2);
mais avec cette solution et un navigateur fenêtre de taille inférieure Dans votre boîte de dialogue, certaines parties de la boîte de dialogue seront inaccessibles en haut et à gauche, car elles sont en dehors de la fenêtre. Vous devez donc décider si cela convient à la taille de votre boîte de dialogue.
(CSS ne sait pas comment calculer, encore. Ainsi, le peu de mathématiques là-bas doit être fait par vous, en ce moment. Par conséquent, votre dialogue doit être une taille fixe que vous devez savoir.)
Edit:
Oh oui, si vous voulez servir votre boîte de dialogue pour le IE6 aussi, vous devriez faire quelque chose comme ceci:
#dialog { position: absolute; }
#dialog[id] { position: fixed; }
Depuis IE6 n'est pas capable de positions fixes et pas non plus capable de attribut-sélecteurs, l'IE6 sera le seul qui a la position définie à l'absolu. (Cela n'affectera que le comportement de défilement: absolu reste sur sa place dans la page et fixe reste à sa place dans le navigateur.Le reste est similaire.)
Pour mettre un div horizontalement au milieu, je mets toujours la marge: 0 auto. Mais ça ne peut pas être un élément flottant et dans IE j'ai toujours eu besoin de mettre un div autour de lui et de lui donner la propriété text-align: center, de sorte que le div intérieur soit centré horizontalement.
Si vous connaissez des dimensions de décalage de l'élément (largeur/hauteur + rembourrage), vous pouvez utiliser ce CSS:
elementContainerSelector {
position: fixed; /* You'll of course need to handle browsers that don't support fixed positioning */
top: 0;
left: 0;
width: 100%;
height: 100%;
}
elementSelector {
position: absolute;
top: 50%;
left: 50%;
margin: -[half of offset height]px 0 0 -[half of offset width]px;
}
réponse de Hurix fonctionne aussi, et garder à l'esprit les mises en garde dans cette réponse aussi bien.
Découvrez Infinity Web Design's pièce à ce sujet.
#mydiv {
background-color:#F3F3F3;
border:1px solid #CCCCCC;
height:18em;
left:50%;
margin-left:-15em;
margin-top:-9em;
position:absolute;
top:50%;
width:30em;
}
Ceci est le CSS qu'ils utilisent, et je l'ai testé dans plusieurs navigateurs.
Vous remarquerez que la marge gauche est négative sur la moitié de la largeur et la marge supérieure est négative sur la moitié de la hauteur. Cela prend soin du centrage, plus ou moins, en le positionnant absolument à 50% en haut et à gauche.
Conserver la marge gauche: auto et marge droite: auto
- 1. Afficher l'image au centre de la page
- 2. Comment mettre une ligne verticale au centre d'une div?
- 3. Comment afficher une image au centre de la page entière avec jQuery?
- 4. Comment positionner un formulaire d'entrée au centre d'une page?
- 5. Div Centre dans un autre (100% de largeur) div
- 6. Comment puis-je conserver la barre de défilement d'une div au bas de la div en utilisant jQuery?
- 7. Comment conserver la position de défilement en utilisant la page maquette?
- 8. Comment afficher UIActivityIndicator au centre du NavigationBar?
- 9. Définition de QMainWindow au centre de l'écran
- 10. UITableViewCells doit être au centre de UITableView
- 11. javascript pour superposer une fenêtre modale qui est alignée au centre
- 12. Comment puis-je obtenir une image pour coller au fond d'un div que la hauteur de la div change?
- 13. fondu dans div chargement de la page
- 14. Comment aligner un pré-tag au centre en HTML
- 15. Comment placer le texte au centre d'une image?
- 16. centre texte align avec css
- 17. Comment conserver la valeur de recherche JQuery dans ASP.Net MVC
- 18. Comment obtenir div depuis l'affichage de la deuxième page dans la première page
- 19. Comment charger la page/contenu externe dans un DIV
- 20. contenu DIV montre à la page au lieu de JQuery Dialog
- 21. Comment faire une taille div automatiquement, mais l'empêcher de se casser au bord de la fenêtre?
- 22. IE CSS Bug - Comment puis-je conserver une position: absolute lorsque le contenu javascript dynamique sur la page change
- 23. comment conserver une trace de la dernière modification
- 24. Comment faire un div 100% de la hauteur de la page (pas l'écran)?
- 25. Récemment consulté DIV sans rechargement de page
- 26. Réglage de la mise au point après animation Div
- 27. Comment conserver une demande de page IE en vie plus de 1 minute?
- 28. Comment conserver une fenêtre au-dessus de toutes les autres fenêtres de mon application uniquement?
- 29. ouvrir le dialogue modal jquery au chargement de la page
- 30. Comment est-ce que je peux tronquer une chaîne au centre?
Ne pas positionner les problèmes de cause fixe dans IE6? –