120 votes

Aligner le bouton au bas d'un div à l'aide de CSS

Je veux aligner mon bouton dans le coin inférieur droit de ma division. Comment puis-je le faire ?

enter image description here

La css actuelle de div :

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

255voto

Kokos Points 4718

Vous pouvez utiliser position:absolute; pour positionner de manière absolue un élément dans une division parent. Lorsque vous utilisez position:absolute; l'élément sera positionné de manière absolue à partir de la première div parent positionnée, s'il n'en trouve pas, il se positionnera de manière absolue à partir de la fenêtre, vous devrez donc vous assurer que la div de contenu est positionnée.

Pour que le div de contenu soit positionné, tous les position les valeurs qui ne sont pas statiques fonctionneront, mais relative est le plus simple puisqu'il ne modifie pas le positionnement des divs par lui-même.

Alors, ajoutez position:relative; à la div de contenu, supprimez le flottement du bouton et ajoutez la css suivante au bouton :

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

0 votes

Cela ne fonctionne pas car j'ai également un pied de page en bas de page. Cela place donc mon bouton dans le coin inférieur droit de la page et non dans le div.

1 votes

@Harry Joy : Avez-vous aussi postulé position: relative à l'élément qui contient votre formulaire+bouton ?

1 votes

@Harry Joy : Alors il devrait être relatif à cela div et non la page. Si le pied de page est également contenu dans ce div Si vous avez une idée de la hauteur de votre pied de page, il se peut qu'ils aient l'air d'être la même chose. Si vous connaissez la hauteur de votre pied de page, sur le bouton vous pouvez utiliser bottom: HEIGHT_OF_FOOTERpx .

45voto

Mohammad Usman Points 17530

CSS3 flexbox peut également être utilisé 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 :

Output Image

Ressources utiles :

  • Specs
  • MDN
  • Trucs et astuces CSS

    • {box-sizing: border-box;} body { background: linear-gradient(orange, yellow); font: 14px/18px Arial, sans-serif; margin: 0; } .container { justify-content: space-between; flex-direction: column; height: 100vh; display: flex; padding: 10px; } .container .btn-holder { justify-content: flex-end; display: flex; } .container .btn-holder button { padding: 10px 25px; background: blue; font-size: 16px; border: none; color: #fff; }

    <div class="container"> <p>Lorem ip sum dolor sit amet... Lorem ip sum dolor sit amet... Lorem ip sum dolor sit amet... Lorem ip sum dolor sit amet... Lorem ip sum dolor sit amet... Lorem ip sum dolor sit amet... Lorem ip sum dolor sit amet... Lorem ip sum dolor sit amet... Lorem ip sum dolor sit amet... Lorem ip sum dolor sit amet... </p> <div class="btn-holder"> <button type="button">Click</button> </div> </div>

14voto

Aron Points 11

Le conteneur parental doit avoir ça :

position: relative;

Le bouton lui-même doit avoir cela :

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

ou ce que vous voulez

0 votes

Notez que cette réponse est incorrecte. Avec position:relative le bouton sera déplacé à partir de sa position initiale au lieu de se baser sur le parent.

2 votes

Vous devez utiliser position: absolute pour le commander en bas à droite.

0voto

J'ai résolu ce problème en utilisant la position fixe :

.button-corner {
  position: fixed;
  bottom: 20px;
  right: 20px;
}

-27voto

BehranG BinA Points 114

Va à droite et peut être utilisé de la même façon pour la gauche

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

5 votes

Cela aligne votre bouton uniquement sur la droite. Pas en bas à droite.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X