因此,如果两个内联div使用新行彼此相邻,则会创建空白区域。 但我的问题是我有一堆jinja 2代码,所以我不能把div放在同一行。
我想将divs
内联,以便它们彼此相邻,而在它们之间没有空格。我的布局是动态生成的。现在看来是
容器的宽度为900px
,所以我尝试将每个数据div设为300px
,这样每行可以有3个字段。
这就是我想要的样子:
以下是标题和字段的代码:
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 %}
答案 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标签),注释或变量表达式,则该块之前或之后的空格将被删除