【问题标题】:Rows On Bootstrap modal-body have no gap?Bootstrap modal-body 上的行没有间隙?
【发布时间】:2015-10-06 09:28:49
【问题描述】:

在我的引导模式中,我有两行,但它们都被挤在一起,行之间没有间距。

问题:为什么引导程序模态体上的行之间没有间隙,解决它的最佳解决方案是什么?

代码预览Click Here

完整预览Click Here

HTML

<div class="container">
<hr>
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
Click To Open Modal
</button>
</div>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
    <div class="row">
    <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
    <a href="" id="button-parent" class="btn btn-default">Parent Folder</a> 
    <a href="" id="button-refresh" class="btn btn-default">Refresh Page</a>
    <button type="button" id="button-upload" class="btn btn-primary">Upload</button>
    <button type="button" id="button-folder" class="btn btn-default">Create Folder</button>
    <button type="button" id="button-delete" class="btn btn-danger">Delete</button>
    </div>
    </div>

    <div class="row">
    <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
    <div class="input-group">
    <input type="text" name="search" value="" placeholder="" class="form-control">
    <span class="input-group-btn">
    <button type="button" data-toggle="tooltip" title="<?php echo $button_search; ?>" id="button-search" class="btn btn-primary"><i class="fa fa-search"></i></button>
    </span>
    </div>
    </div>
    </div>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

【问题讨论】:

    标签: twitter-bootstrap bootstrap-modal


    【解决方案1】:

    每当您在引导程序中使用表单元素时,建议您将该特定元素放在表单组类中 - 这样,每个元素下方都有一个 15px 的边距底部。

    As per Bootstrap's form example: 将标签和控件包裹在 .form-group 中以获得最佳间距。

    .inline-group {
      display: inline-block;
    }
    <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet" />
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
    <div class="container">
      <hr>
      <!-- Button trigger modal -->
      <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
        Click To Open Modal
      </button>
    </div>
    <!-- Modal -->
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span>
            </button>
            <h4 class="modal-title" id="myModalLabel">Modal title</h4>
          </div>
          <div class="modal-body">
            <div class="row">
              <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                <div class="form-group inline-group">
                  <a href="" id="button-parent" class="btn btn-default">Parent Folder</a> 
                </div>
                <div class="form-group inline-group">
                  <a href="" id="button-refresh" class="btn btn-default">Refresh Page</a>
                </div>
                <div class="form-group inline-group">
                  <button type="button" id="button-upload" class="btn btn-primary">Upload</button>
                </div>
                <div class="form-group inline-group">
                  <button type="button" id="button-folder" class="btn btn-default">Create Folder</button>
                </div>
                <div class="form-group inline-group">
                  <button type="button" id="button-delete" class="btn btn-danger">Delete</button>
                </div>
              </div>
            </div>
    
            <div class="row">
              <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                <div class="input-group">
                  <input type="text" name="search" value="" placeholder="" class="form-control">
                  <span class="input-group-btn">
        <button type="button" data-toggle="tooltip" title="<?php echo $button_search; ?>" id="button-search" class="btn btn-primary"><i class="fa fa-search"></i></button>
        </span>
                </div>
              </div>
            </div>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            <button type="button" class="btn btn-primary">Save changes</button>
          </div>
        </div>
      </div>
    </div>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>

    但是,form-group 是一个 block 属性,因此,它会在新行中删除每个表单元素,因此您可以添加另一个类,如 .inline-group 并使其成为 display:inline-block如图所示

    【讨论】:

    • 您的代码是最好的解决方案,但不知何故,我觉得 OP 会坚持他的标记。 +1
    【解决方案2】:

    这是由于您在模态中使用了.row.row 没有填充或边距。如果你不想改变你的标记,那么一点点“hack”可能是

    .modal-body .row {
       padding-bottom: 16px;
    }
    

    上面的代码和你的代码 -> http://jsfiddle.net/zfLsmogx/

    【讨论】: