如何用TAL创build斑马条纹CSS?
我如何使用变色龙或Zope页面模板轻松创buildCSS斑马条纹? 我想为表中的每一行添加odd
和even
类,但是使用repeat/name/odd
或repeat/name/even
的条件,即使使用条件expression式, 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>
如果你有多个类来计算,这会变得特别乏味。
repeat
variables的Zope页面模板的实现有一个未被logging的额外参数( parity
,而不是给出string'odd'
或'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>
插入到stringexpression式中也更容易:
tal:attributes="class string:striped ${row/class} ${repeat/row/parity}"
这也适用于变色龙。