Sea*_*ean 49 twitter-bootstrap twitter-bootstrap-4 bootstrap-4
Bootstrap 4使用flex-box作为模态页脚.如果我想要两个按钮,一个在左边,一个在右边,我该如何让它正常工作?
下面的代码尝试使用div.rowwith col-sm-6但不起作用.
<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">×</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>Run Code Online (Sandbox Code Playgroud)
Zim*_*Zim 110
现在modal-footerBootstrap 4中的"display:flex",最简单的方法是使用自动边距.使用mr-auto左键.
<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>
Run Code Online (Sandbox Code Playgroud)
小智 11
该modal-footer是display:flex;.因此,对齐其元素(例如按钮)的更好方法是使用弹性规则. Bootstrap 4提供了新的实用程序类来修改这些flex规则(例如.justify-content-[modifier]).所以我认为更好的选择应该如下:
<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>
Run Code Online (Sandbox Code Playgroud)
<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">×</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>Run Code Online (Sandbox Code Playgroud)
对于任何想要 3 个按钮的人,例如右侧 2 个、左侧 1 个:
<div class="modal-footer justify-content-between">
<button type="submit" class="btn btn-danger">Delete</button>
<div>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Save changes</button>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
小智 7
完全同意@Zim 和@jmboiton
如果这两种方法一起使用,它可以解决每个人的问题(包括 IE 用户:P)
总体而言,最好的解决方案是将类组合起来.justify-content-between,.mr-auto如下所示:
<div class="modal-footer justify-content-between">
<button type="button" class="btn btn-secondary mr-auto" type="button">Left Button</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
Run Code Online (Sandbox Code Playgroud)
<div class="modal-footer justify-content-between">
<button type="button" class="btn btn-secondary mr-auto" type="button">Left Button</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
Run Code Online (Sandbox Code Playgroud)
小智 6
它在IE中的唯一工作方式是使用w-100。mx-auto和mr和ml-auto似乎都溢出了包含元素中的按钮。
<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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52005 次 |
| 最近记录: |