Wyrównaj przycisk na dole div za pomocą CSS


105

Chcę wyrównać mój przycisk w prawym dolnym rogu mojego elementu div. Jak mogę to zrobić?

wprowadź opis obrazu tutaj

Aktualny css div:

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

Odpowiedzi:


224

Możesz użyć position:absolute;do absolutnego pozycjonowania elementu w nadrzędnym div. Podczas używania position:absolute;element zostanie umieszczony absolutnie od pierwszego umieszczonego nadrzędnego elementu DIV, jeśli nie może go znaleźć, zostanie umieszczony całkowicie z poziomu okna, więc musisz upewnić się, że element div zawartości jest ustawiony.

Aby ustawić element DIV w treści, wszystkie positionwartości, które nie są statyczne, będą działać, ale relativejest najłatwiejsze, ponieważ nie zmienia samego położenia elementów div.

Więc dodaj position:relative;do treści div, usuń float z przycisku i dodaj następujący css do przycisku:

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

1
@Harry Joy: Czy zastosowałeś również position: relativedo elementu, który zawiera formularz + przycisk?
— thirtydot

1
@Harry Joy: W takim razie powinno odnosić się do tego div, a nie do strony. Jeśli stopka jest również zawarta w tym div, może po prostu wydają się być tym samym. Jeśli znasz wysokość swojej stopki, na przycisku możesz użyć bottom: HEIGHT_OF_FOOTERpx.
— trzydzieści kropek

1
@Harry Joy: Zatem jest tu zbyt wiele zamieszania. Powinieneś opublikować swój HTML / CSS jako przypadek testowy jsFiddle .
— trzydzieści kropek

1
@thirtydot: Działa. Thnx. niewłaściwie umieszczona pozycja: względna. Dodałem go w złym div.
— Harry Joy

3
Naprawdę muszę tylko skomentować i naprawdę podkreślić, jak bardzo się cieszę, że znalazłem to rozwiązanie. Wkurza mnie to od lat!
— K. Kilian Lindberg

31

Flexbox CSS3 może być również użyty do wyrównania przycisku na dole elementu nadrzędnego.

Wymagany kod HTML:

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

Niezbędny CSS:

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

Zrzut ekranu:

Obraz wyjściowy

Przydatne zasoby:


12

Kontener nadrzędny musi mieć to:

position: relative;

Sam przycisk musi mieć to:

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

lub cokolwiek chcesz


6
Zwróć uwagę, że to pytanie zostało zadane prawie 3 lata temu i otrzymałem odpowiedź.
— Itay Gal

Zauważ, że ta odpowiedź jest nieprawidłowa. Za position:relativepomocą przycisku zostanie przeniesiony z pierwotnej pozycji zamiast na podstawie rodzica.
— Kokos

1
Musisz użyć position: absolute, aby to zrobić od prawego dolnego rogu.
— CaptainBli

-25

Przechodzi w prawo i może być używany w ten sam sposób po lewej stronie

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

3
Spowoduje to tylko wyrównanie przycisku w prawo. Nie w prawym dolnym rogu.
— Ruben,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.