Comment faire pour centrer aligner verticalement le conteneur dans le bootstrap
Je suis à la recherche d'un moyen à la verticale du centre d'aligner les container
div à l'intérieur de la jumbotron
et de le mettre dans le milieu de la page.
La .jumbotron
doit être adapté à toute la hauteur et la largeur de l'écran, j'ai donc utilisé cette CSS.
.jumbotron{
heght:100%;
width:100%;
}
La .container
div a une largeur de 1025px
et devrait être dans le milieu de la page (à la verticale du centre).
.container{
width:1025px;
}
.jumbotron .container {
max-width: 100%;
}
Mon code HTML est comme
<div class="jumbotron">
<div class="container text-center">
<h1>The easiest and powerful way</h1>
<div class="row">
<div class="col-md-7">
<div class="top-bg"></div>
</div>
<div class="col-md-5 iPhone-features" style="margin-left:-25px;">
<ul class="top-features">
<li>
<span><i class="fa fa-random simple_bg top-features-bg"></i></span>
<p><strong>Redirect</strong><br>Visitors where they converts more.</p>
</li>
<li>
<span><i class="fa fa-cogs simple_bg top-features-bg"></i></span>
<p><strong>Track</strong><br>Views, Clicks and Conversions.</p>
</li>
<li>
<span><i class="fa fa-check simple_bg top-features-bg"></i></span>
<p><strong>Check</strong><br>Constantly the status of your links.</p>
</li>
<li>
<span><i class="fa fa-users simple_bg top-features-bg"></i></span>
<p><strong>Collaborate</strong><br>With Customers, Partners and Co-Workers.</p>
</li>
<a href="pricing-and-signup.html" class="btn-primary btn h2 lightBlue get-Started-btn">GET STARTED</a>
<h6 class="get-Started-sub-btn">FREE VERSION AVAILABLE!</h6>
</ul>
</div>
</div>
</div>
</div>
Donc je veux cette page pour avoir le jumbotron adaptée à la hauteur et la largeur de l'écran avec le contenant à la verticale du centre de la jumbotron. Comment puis-je l'atteindre?
- n'écrasez pas les .classe de conteneur. Créer une nouvelle classe et la position dans absolument. Si le contenu est dynamique, l'utilisation de jquery pour s'ajuster à la marge-haut de le nouveau conteneur (depuis jq est déjà une partie de la bs)
- Pouvez-vous fournir un peu de code ou un jsfiddle?
- est jumbotron un div que vous avez ajouté?
- jumbotron est un div de bootstrap
- Voir sur ce réactif centrée colonnes minimit.com/articles/solutions-tutorials/...
- css-vertical-center.com il y a des solutions avec la compatibilité du navigateur de l'information
Vous devez vous connecter pour publier un commentaire.
La souplesse de la boîte de façon
Alignement Vertical est désormais très simple grâce à l'utilisation de Flexible zone de mise en page. De nos jours, cette méthode est prise en charge dans un large gamme de web les navigateurs, sauf Internet Explorer 8 & 9. Par conséquent, nous aurions besoin d'utiliser certains hacks/polyfills ou différentes approches pour IE8/9.
Dans le suivant, je vais vous montrer comment faire cela dans seulement 3 lignes de texte (indépendamment de la vieille flexbox syntaxe).
Remarque: il est préférable d'utiliser une classe supplémentaire au lieu de modifier
.jumbotron
pour atteindre l'alignement vertical. Je voudrais utiliservertical-center
nom de la classe par exemple.Exemple Ici (Un Miroir sur jsbin).
Important notes (pris en compte dans la démo):
Un pourcentage valeurs de
height
oumin-height
propriétés est par rapport à laheight
de l'élément parent, par conséquent, vous devez spécifier leheight
de la société mère explicitement.Vendeur préfixé /vieux flexbox syntaxe omis dans la posté extrait en raison de la brièveté, mais qui existent en ligne dans l'exemple.
Dans certains vieux navigateurs web comme Firefox 9 (dans lequel je l'ai testé), le conteneur flex -
.vertical-center
dans ce cas - ne pas occuper l'espace disponible à l'intérieur de la mère, donc nous avons besoin de spécifier lewidth
propriété comme:width: 100%
.Également dans certains navigateurs web comme mentionné ci-dessus, le flex de l'élément
.container
dans ce cas - peut ne pas apparaître au centre horizontalement. Il semble que l'appliqués de gauche à droite/margin
deauto
n'a aucun effet sur le flex de l'élément.Nous avons donc besoin de l'aligner par
box-pack /justify-content
.Pour plus de détails et/ou de l'alignement vertical des colonnes, vous pouvez vous référer à la rubrique ci-dessous:
La façon traditionnelle de l'héritage pour les navigateurs web
C'est le vieux la réponse, j'ai écrit à l'époque, j'ai répondu à cette question. Cette méthode a été discuté ici et il est censé fonctionner dans Internet Explorer 8 et 9 ainsi. Je vais vous expliquer en bref:
Dans inline débit, une ligne de niveau élément peut être alignés verticalement au milieu par
vertical-align: middle
déclaration. Spec de W3C:Dans les cas où le parent -
.vertical-center
élément dans ce cas - a explicitementheight
, par hasard, si nous pouvions avoir un élément enfant d'avoir exactement le mêmeheight
de la mère, nous serions en mesure pour déplacer la ligne de base de la société mère au milieu de la pleine hauteur de l'enfant et, à la surprise de faire notre choix dans le flux de l'enfant - la.container
aligné au centre verticalement.Arriver tous ensemble
Cela étant dit, on pourrait créer un plein-hauteur de l'élément à l'intérieur de la
.vertical-center
par::before
ou::after
pseudo-éléments et également modifier la valeur par défautdisplay
type d'elle et de l'autre enfant, le.container
àinline-block
.Ensuite utiliser
vertical-align: middle;
pour aligner les éléments inline verticalement.Ici, vous allez:
TRAVAIL DE DÉMONSTRATION.
Aussi, pour éviter des problèmes inattendus dans le plus petit des écrans, vous pouvez réinitialiser la hauteur de la pseudo-élément
auto
ou0
ou de changer sesdisplay
type denone
si c'est nécessaire pour:MISE À JOUR DE LA DÉMO
Et encore une chose:
Si il y a
footer
/header
articles autour du récipient, c'est une meilleure position que les éléments correctement (relative
,absolute
? à vous de voir.) et ajouter un plusz-index
valeur (pour l'assurance) pour les garder toujours sur le dessus de l'autres.text-align: center;
pour la.jumbotron
division.position: relative;
corriger ce problème (y compris un plus grandz-index
valeur si nécessaire). Et encore une chose: La.footer
élément a unjumbotron
classe trop. Il est préférable d'utiliser un nouveau nom de classe pour obtenir les éléments alignés verticalement. I. e. vous pouvez ajouter une classe devertical-align
pour la première.jumbotron
et d'appliquer l'extrait de code ici à la classe, au lieu de la.jumbotron
lui-même.position:relative;
? Aussi, dois-je juste besoin de changer le jumbotron classe avec une classe personnalisée dans la section de pied de page?position: relative;
pour le pied de page. En fait comme je l'ai mentionné, il est préférable de créer une nouvelle classe avec l'extrait ci-dessus, et ensuite l'appliquer à la.jumbotron
élément au lieu de changer la valeur par défautjumbotron
classe.position: relative
à la.footer
.footer { padding-top: 50px!important; position: relative; }
Vous pouvez également ajouterz-index: 100
pour s'assurer qu'elle sera affichée dans la partie supérieure.display: flex
à un.container
, c'causes de l'enfant.row
s flip out. Il semble que la flexbox moyen serait donc de nous obliger à renoncer à l'utilisation de certains des principaux bootstrap fonctionnalités?Mise à jour 2018
Bootstrap 4 comprend flexbox, de sorte que la méthode de centrage vertical est beaucoup plus facile et n'a pas besoin de plus de CSS.
Suffit d'utiliser la
d-flex
etalign-items-center
classes utilitaires..http://www.codeply.com/go/ui6ABmMTLv
ajouter Bootstrap.css puis ajouter ceci dans votre css
CSS:
HTML:
Dans Bootstrap 4:
à centre de l'enfant à l'horizontale, utiliser bootstrap-4 classe:
à centre de l'enfant à la verticale, utiliser bootstrap-4 classe:
mais n'oubliez pas n'oubliez pas d'utiliser d-flex classe avec ces
c'est un bootstrap 4 classe utilitaire, comme
Remarque: assurez-vous d'ajouter bootstrap-4 utilitaires si ce code ne fonctionne pas
Je sais que ce n'est pas la réponse directe à cette question, mais elle peut aider quelqu'un
Mon préféré technique :
Démo
CSS:
HTML:
Voir aussi ce Violon!
Testé sous IE, Firfox, et le Chrome.
CSS:
HTML:
Trouvé sur https://css-tricks.com/centering-css-complete-guide/
pour bootstrap4 centre vertical de quelques éléments
d-flex pour flex règles
flex-colonne pour la direction verticale sur les éléments
justifier-le contenu-le centre de pour le centrage
style='height: 300px;' doit avoir pour l'ensemble des points où le centre de calc ou de l'utilisation h-100 classe
puis pour le centre horizontal div d-flex justifier-le contenu-le centre de
et certains conteneur
nous avons donc hierarhy de 3 tag: div-colonne -> div-ligne -> div conteneur
Ici est la façon dont je suis l'aide pour aligner le contenu verticalement - haut/centre/bas avec bootstrap 3 lignes:
Ici est le violon de Démonstration:
js fiddle
CSS:
HTML: