Wie kann ich zwischen zwei Schaltflächen in derselben Abteilung Platz schaffen?


156

Was ist der beste Weg, um Bootstrap-Schaltflächen horizontal zu platzieren?

Im Moment berühren sich die Tasten:

<div class="btn-group">
    <button class="btn btn-inverse dropdown-toggle" data-toggle="dropdown">
        <i class="icon-in-button"></i>  
        Add to list
        <span class="caret"/>
    </button>
    <ul class="dropdown-menu">
        <li>
            <a href="#">here</a>
        </li>
        <li>
            <a href="#">new</a>
        </li>
    </ul>
    <button class="btn btn-info">
        <i class="icon-in-button"></i>  
        more
    </button>
</div>

Zwei Bootstrap-Tasten

jsfiddle zeigt das Problem: http://jsfiddle.net/hhimanshu/sYLRq/4/


Ich hatte das gleiche Problem und beendete das Hinzufügen eines Randes zu einer der Schaltflächen - mr-1.
Ananth

Antworten:


323

Legen Sie sie in btn-toolbareinen anderen Behälter oder nicht btn-group. btn-groupverbindet sie zusammen. Weitere Informationen zur Bootstrap- Dokumentation .

Bearbeiten: Die ursprüngliche Frage war für Bootstrap 2.x, aber das gleiche gilt weiterhin für Bootstrap 3 und Bootstrap 4 .

In Bootstrap 4 müssen Sie Ihren Gruppen mithilfe von Dienstprogrammklassen wie mx-2 einen entsprechenden Rand hinzufügen.


2
Ich habe vor Jahren nach einer Lösung für diese Probleme gesucht, warum ich dich vorher nicht gefunden habe, du bist mein Held
Hakan Fıstık

1
Was für eine klare Antwort! Mein Held des Tages :)
Naga

btn-toolbarMöglicherweise werden einige Schaltflächen in eine neue Zeile eingeschlossen. Wie vermeide ich das?
lukas84

Es ist geplant, für die Reaktionsfähigkeit zu brechen. Wenn Sie es wirklich ein Brechen verhindern wollen, dann setzt flex-wrap: nowrapfür btn-toolbarin Bootstrap 4 oder versuchen , mit einer Kombination von overflowund white-spacefür ältere Bootstrap - Versionen.
Miroslav Popovic

2
@Svend, schauen Sie etwas weiter unten im Abschnitt " Schaltflächengruppe
Miroslav Popovic

76

Setzen Sie einfach die Schaltflächen in eine Klasse (class = "btn-toolbar"), wie von Bruder Miroslav Popovic gesagt. Es funktioniert fantastisch.

<div class="btn-toolbar">
  <button type="button" id="btnSubmit" class="btn btn-primary btn-sm">Submit</button>
  <button type="button" id="btnCancel" class="btn btn-primary btn-sm">Cancel</button>
</div>


9

Sie können den Abstand für Bootstrap verwenden und benötigen kein zusätzliches CSS. Fügen Sie einfach die Klassen zu Ihren Schaltflächen hinzu. Dies ist für Version 4.


Ich wollte, dass Schaltflächen in einer Reihe angezeigt werden und dass sie (aufgrund von Umhüllungen) auf kleinen Bildschirmen gestapelt werden können. Um einen Abstand zu erreichen, der sowohl horizontal als auch vertikal funktioniert, habe ich className='mb-2 mr-2'Folgendes getan:
Befolgen Sie

7

Sie sollten Bootstrap v.4 verwenden

<div class="form-group row">
    <div class="col-md-6">
        <input type="button" class="btn form-control" id="btn1">
    </div>
    <div class="col-md-6">
        <input type="button" class="btn form-control" id="btn2">
    </div>
</div>

Dies ist die beste Lösung für Bootstrap 4 IMO. Auf kleineren Bildschirmen können Sie "px-0 px-sm-2" verwenden, um die Polsterung entsprechend zu entfernen. Gute Antwort.
RM-Code

5

Der einfachste Weg in den meisten Situationen ist die Marge.

Wo Sie tun können:

button{
  margin: 13px 12px 12px 10px;
}

ODER

button{
  margin: 13px;
}

1
Benutzerdefinierte Ränder sollten nicht verwendet werden, wenn Sie die Bootstrap-Schaltflächen in der Klasse btn-toolbar platzieren können.
Millsionaire

5

Was Dragan B vorgeschlagen hat, ist der richtige Weg für Bootstrap 4. Ich habe unten ein Beispiel aufgeführt. zB mr-3 ist randrecht: 1rem! wichtig

<div class="btn-toolbar pull-right">
   <button type="button" class="btn mr-3">btn1</button>
   <button type="button" class="btn mr-3">btn2</button>
   <button type="button" class="btn">btn3</button>
</div>

ps: In meinem Fall wollte ich, dass meine Schaltflächen rechts auf dem Bildschirm angezeigt werden und daher nach rechts gezogen werden.


Einfach die Tasten einwickeln, btn-toolbarum das Platzproblem zu beheben!
Arslan Ameer

2

Ich habe das Plugin für die Bootstrap 4-Schaltflächen ( https://getbootstrap.com/docs/4.0/components/buttons/#button-plugin ) verwendet und die auf die Beschriftungen gerundete Klasse und die Klasse mx-1 auf die mittlere Schaltfläche hinzugefügt , um das zu erreichen gewünschtes Erscheinungsbild separater Optionsfelder. Mit der Klasse btn-toolbar wurden die Optionsfeldkreise für mich angezeigt , was nicht das war, was ich wollte. Hoffe das hilft jemandem.

        <div class="btn-group btn-group-toggle" data-toggle="buttons">
            <label class="btn btn-secondary active rounded">
                <input type="radio" name="options" id="option1" autocomplete="off" checked> Active
            </label>
            <label class="btn btn-secondary rounded mx-1">
                <input type="radio" name="options" id="option2" autocomplete="off"> Radio
            </label>
            <label class="btn btn-secondary rounded">
                <input type="radio" name="options" id="option3" autocomplete="off"> Radio
            </label>
        </div>

2

Eine andere Möglichkeit, dies zu erreichen, besteht darin, Ihren Schaltflächen eine Klasse .btn-space hinzuzufügen

  <button type="button" class="btn btn-outline-danger btn-space"
  </button>
  <button type="button" class="btn btn-outline-primary btn-space"
  </button>

und definieren Sie diese Klasse wie folgt

.btn-space {
    margin-right: 15px;
}

0

Ich bin tatsächlich auf die gleiche Anforderung gestoßen. Ich habe einfach so eine CSS-Überschreibung verwendet

.navbar .btn-toolbar { margin-top: 0; margin-bottom: 0 }

0

Wenn Sie Bootstrap verwenden, können Sie Folgendes ändern: Wenn Sie nur auf einer Seite möchten, fügen Sie zwischen den Kopf-Tags .btn-group btn {margin-right: 1rem;} hinzu.

Wenn ist für alle Website zur CSS-Datei hinzufügen


-1

Am Ende habe ich etwas Ähnliches gemacht wie Mark Dibe , aber ich musste den Abstand auf eine etwas andere Art und Weise herausfinden.

Die col-xKlassen in Bootstrap können ein absoluter Lebensretter sein. Am Ende habe ich etwas Ähnliches gemacht:

<div class="row col-12">
    <div class="col-3">Title</div>
</div>
<div class="row col-12">
    <div class="col-3">Bootstrap Switch</div>
<div>

Dadurch konnte ich Titel und Eingabeschalter in einem schönen Abstand ausrichten. Die gleiche Idee kann auf die Schaltflächen angewendet werden, sodass Sie verhindern können, dass sich die Schaltflächen berühren.

(Randnotiz: Ich wollte, dass dies ein Kommentar zum obigen Link ist, aber mein Ruf ist nicht hoch genug.)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.