【问题标题】:How to move form field to new line with bootstrap grid?如何使用引导网格将表单字段移动到新行?
【发布时间】:2016-05-26 14:54:25
【问题描述】:

我正在使用django-bootstrap3 form,我想稍微改动一下。这是我正在使用的代码:

<div class="row">
  {% for field in form %}
    {% bootstrap_field field form_group_class='col-md-6 form-group label-floating' %}
    {% if field.name == 'field3' %}
      <!-- what should I add here -->
    {% endif %}

  {% endfor %}
</div>

它创建了两列表单域,因为有col-md-6。我想将字段从第二列移动到新行。如何在我的代码中执行此操作?

field1     field2
field3     field4
field5     field6

我希望字段的顺序如下:

field1     field2
field3     
field4     field5
field6

【问题讨论】:

    标签: django twitter-bootstrap twitter-bootstrap-3 django-bootstrap3


    【解决方案1】:

    既好又简单,只需使用 col-md-6,就像您已经对字段 1 和字段 2 使用的那样,但对于字段 3,请使用 col-md-6 和 col-md-offset-6。

    所以需要如下:

    <div class="col-md-6"></div><div class="col-md-6"></div>
    <div class="col-md-6 col-md-offset-6"></div>
    <div class="col-md-6"></div><div class="col-md-6"></div>
    <div class="col-md-6 col-md-offset-6"></div>
    

    使用 CSS 改变偏移方向:

    .col-md-offset-6 {
          margin-right: 50% !important;
    }
    

    【讨论】:

    • 抱歉忘记添加 CSS,这会改变向右的偏移量。
    • 没问题,为之前的错误道歉。
    • 嗯,但如果我调整屏幕大小,它会中断。如何对其进行编辑,使其在桌面/移动设备上的大小为 12?
    • 添加以下 CSS 规则:col-sm-12(适用于平板电脑)和 col-xs-12(适用于移动设备)
    【解决方案2】:

    您不能将您的 if 条件移动到您的 col-md-6 应用程序之上吗?我不熟悉 django 的语法,但类似:

    {% for field in form %}
      {% if field.name == 'field3' %}
          {% bootstrap_field field form_group_class='col-md-12 form-group label-floating' %}
      {% else %}
        {% bootstrap_field field form_group_class='col-md-6 form-group label-floating' %}  
      {% endif %}
    {% endfor %}
    

    【讨论】:

    • 我试过了,但我希望 field3 的尺寸为 6,而不是 12。无论如何,谢谢!
    • 为什么要它有 col-md-6 却占据一整行?
    • 以逻辑方式分隔字段。就像前 3 个字段应该放在一起,然后另外 3 个字段也应该放在一起。
    猜你喜欢
    • 2019-12-06
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 2017-09-05
    相关资源
    最近更新 更多