0

我正在练习Chameleon模板引擎Bootstrap。我目前使用的布局是Fluid layout.

在这个布局的列表部分,它的使用结构像

<div class="row-fluid">
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
</div>
<div class="row-fluid">
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
</div>

每个row-fluid div恰好包含 3 span4 div

tal:repeatinChameleon重复列表中的所有元素。如果我在列表中有 6 个元素,它会生成

<div class="row-fluid">
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
    <div class="span4">******</div>
</div>

然而,这破坏了之前的布局。

无论如何只能用 来完成任务Chameleon吗?

4

1 回答 1

1

问题基本上归结为将列表拆分为大小均匀的块,然后使用两个嵌套循环迭代“主”列表及其“子列表”。

完全未经测试,我认为以下内容将是一个很好的起点:

<div class="row-fluid" tal:repeat="chunk [l[i*3:(i*3)+3] for i in range((len(l) // 3) + 1) ]">
    <div class="span4" tal:repeat="item chunk"><tal:item replace="item" /></div>
</div>
于 2015-07-31T12:36:45.293 回答