En-tête fixe position dans le bootstrap 3 modal
Je veux utiliser un en-tête fixe dans mon Bootstrap modal, cependant si j'ai mis .modal-header comme position:fixe il défile avec la moda de contenu. Comment puis-je créer un trully en-tête fixe dans BS modal?
- Vous voulez revenir à l'ancienne modaux de Bootstrap 2. Dans le nouveau, l'ensemble de la
.modal
parchemins, de sorte que le réglage de la.modal-header
fixe ne fonctionne pas. Vous aurez besoin d'arrêter la modale de défilement, définissez une taille sur le.modal-content
et ont que faites défiler jusqu'à la place.
Vous devez vous connecter pour publier un commentaire.
Au lieu d'essayer de l'en-tête fixe, juste corriger la hauteur du corps et de le rendre à défilement. De cette façon, l'en-tête et pied de page) sera toujours visible.
Vous pouvez facilement le faire en utilisant le CSS3 vh unité avec
calc
. Les deux vh comme calc d'avoir une bonne prise en charge du navigateur (IE9+).Le vh unité est par rapport à la fenêtre d'affichage (= fenêtre de navigateur) de hauteur.
1 vh
est de 1% de la hauteur et100vh
signifie que 100% de la fenêtre d'affichage de la hauteur.Nous avons juste besoin de soustraire la hauteur de la modale de l'en-tête, pied de page et les marges. Il va être difficile de cette dynamique. Si ces tailles sont fixes, nous nous contentons d'ajouter toutes les hauteurs.
Définir le
height
oumax-height
àcalc(100vh - header+footer px)
.Voir le jsfiddle
Voici un truc tout simple.
Permettez-moi de penser que j'ai à résoudre le div avec la classe "fixedHeader"
Jquery Simple Moyen:
CSS
Tout ce que j'ai répondu ci-dessus est normal amorçage à l'aide de jquery.Mais si quelqu'un est à l'aide angulaire de bootstrap pour le modal puis
Angulaire
CSS
Assurez-vous que vous avez jquery dépendance installé dans les deux cas.
Ma solution peut sembler un peu idiot, mais il détaille les étapes que j'ai pris pour résoudre ce problème pour mon cas d'utilisation.
J'ai essayé quelque chose comme ritz078 de réponse, mais ce que j'ai trouvé est qu'il ne fonctionne pas bien sur iOS lors du défilement, depuis Safari aime faire les choses à sa manière.
Donc, ma solution a été de reproduire le peu de code que j'ai voulu apposer et de la place que le code dupliqué à l'extérieur de l'modal tout à fait dans son propre cachés wrapper:
Ensuite, j'ai utilisé le JS pour 1) faire le code en double visibles après que j'ai faites défiler les modaux un peu, 2) fermez le code en double à chaque fois que je cliquez en dehors de la modale, et 3) la fonctionnalité de restauration à la copie de la modale du bouton fermer:
Le défi ici est correspondant à modale du style (en particulier de sa largeur et marges), mais cette solution vous permet de faire défiler le modal librement sur iOS sans regarder funky, ce qui était mon objectif.
JSFiddle (fourche de Jasny réponse pour montrer comment c'est différent dans le champ d'application de sa réponse)
Que par mon commentaire, c'était en fait une amélioration dans le Bootstrap 3. Ce qui permet de longues contenu et d'avoir l'ensemble de la modale de défilement, et pas seulement le "contenu" de l'modal.
Vous pouvez la remplacer par quelque chose comme cela, mais ce n'est pas aussi belle fonctionnalité.
Démo
En javascript ajouter une classe modale:
En css ajuster o modal-body:
Dans le Corps de la
CSS: