html - Bootstrap Flex 使 div 溢出

标签 html jquery css bootstrap-4 flexbox

我正在使用 Bootstrap 4。我遇到了一个奇怪的问题。我使用 jquery 添加 html。该 div 的名称为 .col-md-9 d-flex。当其他 div 附加到主 div(在父 col-md-9 下)时,它会溢出并占据整个页面(宽度)并覆盖另一个 div (col-md-3)。代码如下:

<div class="container-fluid">
              <div class="row">
                  <div class="col-md-9 filters-div d-flex"><!-- the dynamic code will append to this div-->
                         <div class="col-md-2 col-xs-6">      
                            <div class="form-group">
                              <label>Date and time range:</label>

                              <div class="input-group">
                                <div class="input-group-prepend">
                                  <span class="input-group-text"><i class="far fa-clock"></i></span>
                                </div>
                                <input type="text" id="reservationdate" class="form-control float-right datetimepicker-input" data-toggle="datetimepicker" data-target="#reservationdate">
                              </div>
                              <!-- /.input group -->
                            </div>
                          <!-- /.form group -->
                          </div> 
                          
                    </div>
                    <div class="col-md-3 d-flex">
                      <div class="my-div">
                        <a href="javascript:void(0)" data-toggle="modal" data-target="#modal-default">
                              <i class="fas fa-filter"></i>Add Filters
                            </a>
                        <a href="#" class="btn btn-secondary close-result">Cancel</a>
                        <a href="javascript:void(0)" class="btn btn-success get-result">Submit</a>

                      </div>
                    </div>
                  </div>
              </div>

生成dom元素的jquery如下

$(document).delegate(".add-filter","click",function(){
    $val=$("#filter-add").val();
    $text=$('#filter-add option:selected').text();
  $new_text=$text.replace(/ /g, "-");

    $html="<div class='col-md-2 col-xs-6 delete-all' id='"+$new_text+"'><div class='form-group'>";
    $html+="<label>"+$text+":</label>";
    $html+="<div class='input-group'>";
    $html+="<input type='text' class='form-control float-right'><div class='input-group-prepend'><span class='input-group-text delete-filter' data-text='"+$text+"' data-value='"+$val+"'><i class='fas fa-trash'></i></span> </div></div>";
    $html+="</div></div>";

    $(".filters-div").append($html);
    $("#filter-add option:selected").remove();
    $('#filter-add').prop('selectedIndex',0);

});

请告诉我出了什么问题。示例为here

更新:

附截图如下

enter image description here

最佳答案

您可以对您的 div 使用flex-wrap:

<div class="col-md-9 filters-div d-flex flex-wrap"><!-- the dynamic code will append to this div-->

相反,如果您不想换行,可以减小 col-md-2 的最大宽度:

.col-md-2 {
    max-width: 12% !important;
}

你的问题取决于 col-md-2:当你有很多这样的问题时,你就会遇到问题。

关于html - Bootstrap Flex 使 div 溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63891466/

相关文章:

javascript - 两个不同 div 的 CSS 选择器

javascript - 有什么方法可以绑定(bind)事件处理程序并同时调用它?

javascript - 使用pushState并失去前进按钮

javascript - Gentelella 不需要的卷轴

css - html 5 节元素之间的默认间距?

jquery - 动态改变div之间的页面内容?

javascript - 使用javascript使div垂直居中

javascript - 以不同方式为每个 Materialize.css 集合操作着色

javascript - 使用jquery更改图标

PHP - 如果访问者在过去 x 秒内未访问过 1.php,则拒绝访问者访问 2.php