当前位置:  开发笔记 > 编程语言 > 正文

freemarker中的交替表行颜色

如何解决《freemarker中的交替表行颜色》经验,为你挑选了3个好方法。

使用freemarker进行备用行着色的好方法是什么?

这真的是最好的方式吗?

<#assign row=0>
<#list items as item>
    <#if (row % 2) == 0>
        <#assign bgcolor="green">
    <#else>
        <#assign bgcolor="red">
    
    ${item}
    <#assign row = row + 1>

我试过这样做:

<#assign row=0>
<#list items as item>
    ${item}
    <#assign row = row + 1>

但显然你不能在那里使用三元运算符.

注意:我想我之前应该提到它,但我不能使用css类或javascript,因为这个HTML会进入电子邮件消息.



1> 小智..:
class='${["odd", "even"][item_index%2]}'



2> andynu..:

如果你有一系列的表,你可能想要做一点功能.

<#function zebra index>
  <#if (index % 2) == 0>
    <#return "white" />
  <#else>
    <#return "#efefef" />
  


<#assign arr=["a","b","c","d"] />

<#list arr as n>
  
${n}

和_index内建时不必让自己和增量索引变量使用列表可以节省您的.


请使用"干净"的CSS:在需要时添加相关的类(class ="odd"或class ="even")然后相应地在CSS中设置样式(即.even {background-color:gray;} .odd { background-color:white;}

3> 小智..:

使用freemarker,您可以使用string内置:

<#list items as item>
   ${item}

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有