如何在同一个 div 中的两个按钮之间留出空间?

Posted

技术标签:

【中文标题】如何在同一个 div 中的两个按钮之间留出空间?【英文标题】:How can I make space between two buttons in same div? 【发布时间】:2012-06-28 07:41:37 【问题描述】:

水平间隔 Bootstrap 按钮的最佳方式是什么?

按钮正在触摸的那一刻:

<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>

jsfiddle 显示问题:http://jsfiddle.net/hhimanshu/sYLRq/4/

【问题讨论】:

我遇到了同样的问题,并在其中一个按钮 mr-1 上添加了边距。 【参考方案1】:

这是基于documentation 的另一种方法。

 <div class="d-grid gap-2 d-md-flex" >
    <button type="button" class="btn btn-outline-primary btn-sm">button1</button>
    <button type="button" class="btn btn-outline-primary btn-sm">button2</button>
 </div>

【讨论】:

唯一对我有用的解决方案,干杯。【参考方案2】:

Dragan B. 解决方案是正确的。在我的情况下,我需要在堆叠时垂直间隔按钮,所以我向它们添加了 mb-2 属性。

<div class="btn-toolbar">
   <button type="button" class="btn btn-primary mr-2 mb-2">First</button>
   <button type="button" class="btn btn-primary mr-2 mb-2">Second</button>
   <button type="button" class="btn btn-primary mr-2 mb-2">Third</button>
</div>

【讨论】:

【参考方案3】:

我最终做了类似于 mark dibe 所做的事情,但我需要以稍微不同的方式计算间距。

bootstrap 中的 col-x 类可以成为绝对的救星。我最终做了类似的事情:

<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>

这使我能够以良好间隔的方式对齐标题和输入开关。可以将相同的想法应用于按钮并允许您停止触摸按钮。

(旁注:我希望这是对上述链接的评论,但我的声誉不够高)

【讨论】:

【参考方案4】:

将它们放在btn-toolbar 或其他容器中,而不是btn-groupbtn-group 将它们连接在一起。更多关于 Bootstrap 的信息documentation。

编辑:最初的问题是针对 Bootstrap 2.x,但同样适用于 Bootstrap 3 和 Bootstrap 4。

在Bootstrap 4 中,您需要使用实用程序类(例如 mx-2)为您的组添加适当的边距。

【讨论】:

几年前我一直在寻找解决这个问题的方法,为什么我以前没有找到你,你是我的英雄 多么直接的答案!我今天的英雄:) btn-toolbar 可能会将一些按钮换行。如何避免这种情况? 它计划中断响应。如果你真的想防止它崩溃,那么在 Bootstrap 4 中将 flex-wrap: nowrap 设置为 btn-toolbar 或尝试将 overflowwhite-space 组合用于旧版 Bootstrap。 @Svend,看看下面的“按钮组”部分 - getbootstrap.com/docs/4.1/components/button-group/…【参考方案5】:

Dragan B 的建议是 Bootstrap 4 的正确方法。我在下面举了一个例子。例如mr-3 是 margin-right:1rem!important

<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:在我的情况下,我希望我的按钮显示在屏幕的右侧,因此是向右拉的。

【讨论】:

只需将按钮包裹在btn-toolbar 中即可解决空间问题!【参考方案6】:

你应该使用 bootstrap v.4

<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>

【讨论】:

这是 Bootstrap 4 IMO 的最佳解决方案。在较小的屏幕上,您可以使用“px-0 px-sm-2”相应地去除填充。很好的答案。【参考方案7】:

实现此目的的另一种方法是在按钮中添加一个类 .btn-space

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

并定义这个类如下

.btn-space 
    margin-right: 15px;

【讨论】:

【参考方案8】:

我使用了 Bootstrap 4 按钮插件 (https://getbootstrap.com/docs/4.0/components/buttons/#button-plugin) 并将 rounded 类添加到标签中,将 mx-1 类添加到中间按钮,以实现单独单选按钮的所需外观。使用类 btn-toolbar 使单选按钮圆圈出现在我面前,这不是我想要的。希望这可以帮助某人。

        <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>

【讨论】:

【参考方案9】:

如果使用Bootstrap,你可以改变如下样式:如果你只想在一页中,那么在head标签之间添加.btn-group btnmargin-right:1rem;

如果是为所有网站添加到css文件

【讨论】:

【参考方案10】:

您可以使用spacing for Bootstrap,而无需任何额外的 CSS。只需将类添加到您的按钮。这是针对第 4 版的。

【讨论】:

我希望按钮连续显示并允许它们在小屏幕上堆叠(由于环绕)。为了实现水平和垂直的间距,使用引导程序提供的东西,我做了:className='mb-2 mr-2',遵循@dragan-b 的建议【参考方案11】:

按照 Miroslav Popovic 兄弟的说法,只需将按钮放在一个类 ( class="btn-toolbar" ) 中即可。效果很棒。

<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>

【讨论】:

【参考方案12】:

在大多数情况下,最简单的方法是边距。

你可以在哪里做:

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

button
  margin: 13px;

【讨论】:

当您可以将引导按钮放置在 btn-toolbar 类中时,不应使用自定义边距。【参考方案13】:

我实际上遇到了同样的要求。我只是像这样使用 CSS 覆盖

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

【讨论】:

以上是关于如何在同一个 div 中的两个按钮之间留出空间?的主要内容,如果未能解决你的问题,请参考以下文章

如何在列表视图中的两个图像之间留出空间?

我可以在 iphone 的 tableview 中的两个单元格之间留出空间吗?

另一个 div 中的 div 没有占用其大小的 100%。它在左右两边留出相等的空间

如何在 PhpStorm 中的变量和运算符之间留出空间?

如何在图库中的缩略图之间留出空间并且在所有浏览器中都相同?

网格在列定义之间留出额外空间