Mein rechter Schwimmer funktioniert nicht so, wie ich es erwarte.
Ich möchte, dass meine Schaltfläche rechts neben meinem Text über einer Zeile ausgerichtet ist:
<div style="padding: 5px; border-bottom-width: 1px; border-bottom-color: gray; border-bottom-style: solid;">
My Text
<button type="button" class="edit_button" style="float: right; margin:5px;">My Button</button>
</div>
Es scheint jedoch immer über der Linie zu schweben.
Wenn ich die Polsterung oder den Rand des DIV erhöhe, scheint der Knopf rechts immer noch über die Linie unten gedrückt zu sein.
Ich habe versucht, mit Polsterungen und Rändern der Schaltfläche auf der rechten Seite herumzuspielen, aber ich kann es anscheinend nicht hinbekommen, dass sie ordentlich neben dem Text platziert wird.
Sie müssen Ihren Text in div umbrechen und ihn nach links schweben lassen, während Wrapper div Höhe haben sollte, und ich habe auch Zeilenhöhe für die vertikale Ausrichtung hinzugefügt
Das funktioniert nicht wirklich – sehen Sie, wie die Schaltfläche nicht vertikal ausgerichtet wird, wenn Sie die Größe des Containers erhöhen: jsfiddle.net/jpdbos8u
div {
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: gray;
overflow: auto;
}
.edit_button {
float: right;
margin: 0 10px 10px 0; /* for demo only */
}
Der Trick besteht darin, sich zu bewerben overflow: auto zum div, wodurch ein neuer Blockformatierungskontext gestartet wird. Das Ergebnis ist, dass die schwebende Schaltfläche innerhalb des Blockbereichs eingeschlossen ist, der durch definiert wird div Schild.
Sie können der Schaltfläche dann bei Bedarf Ränder hinzufügen, um Ihr Styling anzupassen.
Im ursprünglichen HTML und CSS befand sich die Floating-Schaltfläche außerhalb des Inhaltsflusses, also am Rand der div würde in Bezug auf den einfließenden Text positioniert werden, der keine schwebenden Elemente enthält.