如何用TAL创建zebra-stripe CSS?

时间:2013-12-19 18:19:17

标签: css zope template-tal chameleon zpt

如何使用Chameleon或Zope页面模板轻松创建CSS斑马条纹?我想将oddeven类添加到表中的每一行,但使用repeat/name/oddrepeat/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>

如果您有多个要计算的类,这将变得特别繁琐。

1 个答案:

答案 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>

这也适用于变色龙。