Richten Sie die Schaltfläche am unteren Rand von div mithilfe von CSS aus

105

Ich möchte meinen Knopf in der unteren rechten Ecke meines Div ausrichten. Wie kann ich das machen?

Geben Sie hier die Bildbeschreibung ein

Aktuelle CSS von Div:

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

Antworten:

223

Sie können verwenden, position:absolute;um ein Element innerhalb eines übergeordneten Div absolut zu positionieren. Wenn Sie position:absolute;das Element verwenden, wird es absolut vom ersten positionierten übergeordneten Div positioniert. Wenn es kein Element findet, wird es absolut vom Fenster aus positioniert, sodass Sie sicherstellen müssen, dass das Inhaltsdiv positioniert ist.

Damit der Inhalt div positioniert positionwird, funktionieren alle Werte, die nicht statisch sind, aber relativeam einfachsten, da die Position des divs nicht von selbst geändert wird.

Fügen Sie also position:relative;zum Inhaltsbereich hinzu, entfernen Sie den Float von der Schaltfläche und fügen Sie der Schaltfläche das folgende CSS hinzu:

position: absolute;
right:    0;
bottom:   0;
Kokos
quelle
1
@ Harry Joy: Haben Sie sich auch position: relativeauf das Element beworben , das Ihr Formular + enthält?
dreißig Punkte
1
@ Harry Joy: Dann sollte es relativ dazu sein div, nicht die Seite. Wenn die Fußzeile auch darin enthalten ist div, scheinen sie möglicherweise nur dasselbe zu sein. Wenn Sie die Höhe Ihrer Fußzeile kennen, können Sie auf die Schaltfläche klicken bottom: HEIGHT_OF_FOOTERpx.
dreißig Punkte
1
@ Harry Joy: Dann gibt es hier zu viel Verwirrung. Sie sollten Ihr HTML / CSS als jsFiddle-Testfall veröffentlichen .
dreißig Punkte
1
@ Thirtydot: Hat es funktioniert. Danke. Position falsch platziert: relativ. Fügte es in falschem div hinzu.
Harry Joy
3
Wirklich, ich muss nur einen Kommentar abgeben und wirklich darauf hinweisen, wie glücklich ich bin, diese Lösung gefunden zu haben. Das nervt mich seit Jahren!
K. Kilian Lindberg
31

Die CSS3-Flexbox kann auch zum Ausrichten der Schaltfläche am unteren Rand des übergeordneten Elements verwendet werden.

Erforderliches HTML:

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

Notwendiges CSS:

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

Bildschirmfoto:

Ausgabebild

Nützliche Ressourcen:

Mohammad Usman
quelle
12

Der übergeordnete Container muss Folgendes haben:

position: relative;

Button selbst muss folgendes haben:

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

oder was auch immer du magst

Aron
quelle
6
Beachten Sie, dass diese Frage vor fast 3 Jahren gestellt wurde und eine Antwort erhielt.
Itay Gal
Beachten Sie, dass diese Antwort falsch ist. Mit position:relativeder Schaltfläche wird von seiner ursprünglichen Position verschoben, anstatt basierend auf dem übergeordneten Element.
Kokos
1
Sie müssen verwenden position: absolute, um es von unten rechts.
CaptainBli
-26

Geht nach rechts und kann auf die gleiche Weise für links verwendet werden

.yourComponent
{
   float: right;
   bottom: 0;
}
BehranG BinA
quelle
3
Dadurch wird Ihre Schaltfläche nur rechts ausgerichtet. Nicht unten rechts.
Ruben