如何使用Chameleon或Zope页面模板轻松创建CSS斑马条纹?我想将odd
和even
类添加到表中的每一行,但使用repeat/name/odd
或repeat/name/even
的条件看起来相当冗长,即使使用条件表达式:
<table>
<tr tal:repeat="row rows"
tal:attributes="class python:repeat['row'].odd and 'odd' or 'even'">
<td tal:repeat="col row" tal:content="col">column text text</td>
</tr>
</table>
如果您有多个要计算的类,这将变得特别繁琐。
答案 0 :(得分:32)
repeat
变量的Zope页面模板实现有一个记录不足的额外参数parity
,而不是为您提供字符串'odd'
或{{ 1}},在迭代之间交替:
'even'
插入字符串表达式也更容易:
<table>
<tr tal:repeat="row rows"
tal:attributes="class repeat/row/parity">
<td tal:repeat="col row" tal:content="col">column text text</td>
</tr>
</table>
这也适用于变色龙。