Ich habe dieses Problem heute für mich selbst gelöst. All of theseemingly-working Vorschläge Ich fand beteiligt Höhe der Dinge in Pixeln, um die Tasten anzupassen, und das war einfach nicht richtig mit mir sitzen. Ich wollte, dass die vertikale Ausrichtung unabhängig von der tatsächlichen Höhe des Feldtexts selbst ist.
Wenn Sie Blick auf @ithcy ‚s Antwort, und die font-size
aufbocken, haben Sie ein Problem (demo).
Je mehr googeln ich, desto mehr wurde ich davon überzeugt, dass CSS vertical-align
war was ich wollte, aber es schien nie zu tun, was ich denke, dass es tun sollte.Dann lief ich über an article by Louis Lazaris, die besser erklärt, was vertical-align
ist,
Die vertical-align
Eigenschaft gliedert sich in drei werden kann einfach zu verstehen Schritte:
- Es gilt nur für
inline
oder inline-block
Elemente
- Es betrifft die Ausrichtung des Elements selbst, nicht seine Inhalte (außer wenn auf Tabellenzellen angewendet)
- Wenn es um eine Tabellenzelle angewendet wird, wirkt sich die Ausrichtung den Zellinhalt, nicht in die Zelle selbst
und was noch wichtiger ist ist nicht:
Die weit verbreitetes Missverständnis etwa vertical-align
ist das, wenn es auf ein Element angewendet wird, wird es alle Elemente in diesem Element chan machen ge vertikale Position.
Meine Lösung war CSS Tabellenformatierung zu verwenden (was vertical-align
für ist, nachdem alle) anstelle des float
s, dass Bootstrap mit pull-left
und pull-right
bietet. Es dauert ein wenig zusätzliche Markup wie ich (naiv) es tat, aber ich habe das Ergebnis, das ich wollte:
HTML
<div class="panel-heading table-style">
<span class="panel-title">Member of...</span>
<div class="button-wrap">
<div class="btn-group btn-group-sm">
<button type="button" class="btn btn-primary"><span class="glyphicon glyphicon-plus"></span></button>
<button type="button" class="btn btn-danger"><span class="glyphicon glyphicon-remove-circle"></span></button>
</div>
</div>
</div>
CSS
.panel-heading.table-style {
display: table;
width: 100%;
}
.panel-heading.table-style .panel-title {
display: table-cell;
vertical-align: middle;
text-align: left;
}
.panel-heading.table-style .button-wrap {
display: table-cell;
vertical-align: middle;
text-align: right;
}
ich gemacht demo von der Art, wie ich es verwende, die ich bin sicher, dass verbessert werden kann.
Ich bin mir sehr bewusst, dass die btn-group
eine Tendenz hat, mit dieser Methode zu umhüllen, die schrecklich aussieht. Ich habe einfach nicht das Wissen oder die Erfahrung, um es zu beheben. In meinem Anwendungsfall brauche ich nur einzelne Tasten, keine Gruppen, also funktioniert es gut genug für mich.
Das hat es für normale Browser behoben, aber mein Linux eins hat immer noch die Symbole niedriger als Center ... ETA, nbsp um die Schaltfläche hinzugefügt und es begann richtig zu arbeiten. Großer Rat, obwohl – Snowburnt
+1 für Überlauf: versteckt – Nick