使用jinja2时删除div之间的空白区域

时间:2014-09-17 12:48:41

标签: python css html5

因此,如果两个内联div使用新行彼此相邻,则会创建空白区域。 但我的问题是我有一堆jinja 2代码,所以我不能把div放在同一行。

我想将divs内联,以便它们彼此相邻,而在它们之间没有空格。我的布局是动态生成的。现在看来是enter image description here

容器的宽度为900px,所以我尝试将每个数据div设为300px,这样每行可以有3个字段。

这就是我想要的样子: enter image description here

以下是标题和字段的代码:

HTML/Jinja2

        <div class="section">

            <div class="sectionTitle">
                <label class="print_h3">{{ title }} Info</label><br />
            </div>

            <div class="print_dataDiv">
                <label class="print_inputBoxLabels">Model</label>
                <select name="model" class="print_inputBoxes">
                </select>
            </div>
            <div class="print_dataDiv">
                <label class="print_inputBoxLabels">Substation</label>
                <select name="substation" class="print_inputBoxes">
                </select>
            </div>
            {% for field in field_list %}
                <div class="print_dataDiv">
                    <label class="print_inputBoxLabels">{{field.field_name}}</label>
                    <input class="print_inputBoxes" name="field_{{field.field_id}}_{{field.device_id}}" value="{{field.field_value}}" type="input">
                </div>
            {% endfor %}
        </div>

CSS(in order as they appear in the code):
.section{
    width: 100%;
    height: auto;
    border: solid 1px;
}
.sectionTitle{
    width: 100%;
    text-align: center;
    height: 30px;
    border: solid 1px;
    background: #B3B3B3;
    border-left: none;
    border-right: none;
    //margin-bottom: 5px;
}
.print_dataDiv {
    height: 30px;
    width: 300px;
    display: inline-block;
    border: solid 2px;
}
.print_inputBoxLabels{
    width: 140px;
    height: 30px;
    display: block;
    text-decoration: none;
    float: left;
    font-size: 80%;
    margin-left: 2px;
    margin-left: 2px;
}
.print_inputBoxes{
    width: 130px;
    height: 30px;
    display: inline-block;
    float: right;
    outline:none;
}

编辑:这是我的jinja2代码的一个更大的例子,它可以阻止div在同一行上排列

{% for inspection in data.inspections %}
                                <div class="print_dataDiv">
                                    <label class="print_inputBoxLabels">{{ inspection.insName }}</label>
                                    {% if inspection.statusDict|length > 0 %}
                                        <select class="print_inputBoxes" name="inspection_{{ inspection.insID }}_{{ inspection.inspectionID }}">
                                            {% for key, value in inspection.statusDict.iteritems() %}
                                                {% if key == inspection.value %}
                                                    <option selected="selected" value="{{key}}">{{value}}</option>
                                                {% else %}
                                                    <option value="{{key}}">{{value}}</option>
                                                {% endif %}
                                            {% endfor %}
                                        </select>
                                    {% else %}
                                        <input type="text" class="print_inputBoxes" name="inspection_{{ inspection.insID }}_{{ inspection.inspectionID }}" value="{{inspection.value}}">
                                    {% endif %}
                                </div>
                            {% endfor %}

2 个答案:

答案 0 :(得分:3)

试试这个:

{% for field in field_list %}<!--
        --><div class="print_dataDiv">
                <label class="print_inputBoxLabels">{{field.field_name}}</label>
                <input class="print_inputBoxes" name="field_{{field.field_id}}_{{field.device_id}}" value="{{field.field_value}}" type="input">
            </div><!--
-->{% endfor %}

或者,将font-size:0提供给父母。

答案 1 :(得分:1)

for块很容易......遗憾的是,并非所有块表达式都适用于此

{% for field in field_list -%}
    <div>...</div>
{%- endfor %}

http://jinja.pocoo.org/docs/dev/templates/#whitespace-control

  

您也可以手动剥离模板中的空白。如果在块的开头或结尾添加减号( - )(例如For标签),注释或变量表达式,则该块之前或之后的空格将被删除