Aligner le bouton en bas de div en utilisant CSS


105

Je veux aligner mon bouton dans le coin inférieur droit de mon div. Comment puis je faire ça?

entrez la description de l'image ici

CSS actuel de div:

    float: right;
    width: 83%;
    margin-right: 0px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    height:625px;
    overflow:auto;

Réponses:


224

Vous pouvez utiliser position:absolute;pour positionner de manière absolue un élément dans un div parent. Lors de l'utilisation, position:absolute;l'élément sera positionné absolument à partir du premier div parent positionné, s'il ne peut pas en trouver un, il se positionnera absolument à partir de la fenêtre, vous devrez donc vous assurer que le div de contenu est positionné.

Pour rendre le contenu div positionné, toutes les positionvaleurs qui ne sont pas statiques fonctionneront, mais relativec'est le plus simple car cela ne change pas le positionnement des divs par lui-même.

Donc, ajoutez position:relative;au contenu div, supprimez le flottant du bouton et ajoutez le css suivant au bouton:

position: absolute;
right:    0;
bottom:   0;

1
@Harry Joy: Avez-vous également appliqué position: relativeà l'élément qui contient votre formulaire + bouton?
thirtydot

1
@Harry Joy: Alors ça devrait être relatif à ça div, pas à la page. Si le pied de page est également contenu dans cela div, peut-être qu'ils semblent simplement être la même chose. Si vous connaissez la hauteur de votre pied de page, vous pouvez utiliser le bouton bottom: HEIGHT_OF_FOOTERpx.
thirtydot

1
@Harry Joy: Alors il y a trop de confusion ici. Vous devriez publier votre HTML / CSS comme cas de test jsFiddle .
thirtydot

1
@thirtydot: Ça marche. Thnx. a mal placé la position: relative. Ajouté dans une mauvaise div.
Harry Joy

3
Vraiment, je dois juste faire un commentaire et vraiment souligner à quel point je suis heureux d'avoir trouvé cette solution. Cela me dérange depuis des années!
K. Kilian Lindberg

31

La flexbox CSS3 peut également être utilisée pour aligner le bouton en bas de l'élément parent.

HTML requis:

<div class="container">
  <div class="btn-holder">
    <button type="button">Click</button>
  </div>
</div>

CSS nécessaire:

.container {
  justify-content: space-between;
  flex-direction: column;
  height: 100vh;
  display: flex;
}
.container .btn-holder {
  justify-content: flex-end;
  display: flex;
}

Capture d'écran:

Image de sortie

Ressources utiles:


12

Le conteneur parent doit avoir ceci:

position: relative;

Le bouton lui-même doit avoir ceci:

position: relative;
bottom: 20px;
right: 20px;

ou ce que tu aimes


6
Notez que cette question a été posée il y a presque 3 ans et a obtenu une réponse.
Itay Gal

Notez que cette réponse est incorrecte. Avec position:relativele bouton sera déplacé de sa position d'origine au lieu de basé sur le parent.
Kokos le

1
Vous devez utiliser position: absolutepour cela en bas à droite.
CaptainBli

-25

Va vers la droite et peut être utilisé de la même manière pour la gauche

.yourComponent
{
   float: right;
   bottom: 0;
}

3
Cela aligne uniquement votre bouton vers la droite. Pas en bas à droite.
Ruben
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.