2017-03-27 10 views
14

Bootstrap 4 verwendet Flex-Box für seine modalen Fußzeilen. Wenn ich zwei Tasten haben möchte, eine links und eine rechts, wie bekomme ich es richtig? Der folgende Code versucht, einen div.row mit col-sm-6 zu verwenden, funktioniert aber nicht.Links und rechts modale Footer-Schaltflächen in Bootstrap 4 ausrichten

<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet"/> 
 

 
<!-- Button trigger modal --> 
 
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal"> 
 
    Launch demo modal 
 
</button> 
 

 
<!-- Modal --> 
 
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> 
 
    <div class="modal-dialog" role="document"> 
 
    <div class="modal-content"> 
 
     <div class="modal-header"> 
 
     <h5 class="modal-title" id="exampleModalLabel">Modal title</h5> 
 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
 
      <span aria-hidden="true">&times;</span> 
 
     </button> 
 
     </div> 
 
     <div class="modal-body"> 
 
     ... 
 
     </div> 
 
     <div class="modal-footer"> 
 
     <div class="row"> 
 
     <div class="col-sm-6 text-left"> 
 
     <button type="button" class="btn btn-primary">Save changes</button> 
 
     </div> 
 
     <div class="col-sm-6 text-right"> 
 
     <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> 
 
     </div> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

Antwort

24

Nun, da die modal-footer ist "display: flex" in Bootstrap 4, wäre es am einfachsten, die Auto-Margen zu nutzen. Verwenden Sie mr-auto auf der linken Schaltfläche.

<div class="modal-footer"> 
    <button type="button" class="btn btn-primary mr-auto">Save changes</button> 
    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> 
</div> 

Demo

Siehe auch: Left align and right align within div in Bootstrap

+0

Danke, das ist großartig. Eine letzte Sache - was passiert, wenn ich ein 'fieldset' in den Mix geworfen habe? http://www.codeply.com/go/5WyUT4VA4n – Sean

+0

Dann würde ich die 'w-100' verwenden, um es volle Breite und Float-rechts zu machen: http://www.codeply.com/go/Eu0O9Lev5p – ZimSystem

+3

Awesome! Du bist ein Bootstrap-Assistent, vielen Dank! – Sean

2

Der einzige Weg, um es in IE funktioniert w-100 verwendet. mx-auto und mr und ml-auto scheinen alle die Schaltflächen des übergeordneten Elements zu überfließen. Diese

<div class="modal-footer"> 
    <div class="w-100"> 
    <button type="button" class="btn btn-default">Cancel</button> 
    <button type="button" class="btn btn-primary float-right">Save</button> 
    </div> 
</div> 
0

ist einfach und hat mir geholfen,

<div class="modal-footer"> 
<button id="pagePrintBtn" type="button" class="btn btn-primary" style= "float: left;">Print</button> 
</div> 
0
<div class="modal-footer justify-content-start"> 
        <input type="hidden" value="" name=""> 
        <button id="pagePrintBtn" type="button" class="btn btn-primary">Print</button> 
        <button type="button" class="btn btn-secondary ml-auto" data-dismiss="modal">Delete</button> 
        <button type="button" class="btn btn-primary" id=asd>Save</button> 
       </div> 
2

Die modal-footer ist display:flex;. Der beste Weg, um seine Elemente (z. B. Schaltflächen) auszurichten, ist die Verwendung von Flex-Regeln. Bootstrap 4 stellt neue Dienstprogramme zur Verfügung, um diese flexiblen Regeln zu ändern (z. B. .justify-content-[modifier]). Deshalb denke ich, eine bessere Option sein sollte wie folgt:

<div class="modal-footer justify-content-between"> 
    <button type="button" class="btn btn-primary">Save changes</button> 
    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> 
</div> 

<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet"/> 
 

 
<!-- Button trigger modal --> 
 
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal"> 
 
    Launch demo modal 
 
</button> 
 

 
<!-- Modal --> 
 
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> 
 
    <div class="modal-dialog" role="document"> 
 
    <div class="modal-content"> 
 
     <div class="modal-header"> 
 
     <h5 class="modal-title" id="exampleModalLabel">Modal title</h5> 
 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
 
      <span aria-hidden="true">&times;</span> 
 
     </button> 
 
     </div> 
 
     <div class="modal-body"> 
 
     ... 
 
     </div> 
 
     <div class="modal-footer justify-content-between"> 
 
     <button type="button" class="btn btn-primary">Save changes</button> 
 
     <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

+0

Wenn das Problem auch IE verwendet, ist dies eine bessere Lösung als die anderen. – CrisMVP3200

Verwandte Themen