建造DedeCMS模版怎样实现列表隔行换配景致

在做DedeCMS模版计划时文章列表页很不轻易做出彩,这时辰我们就筹备做些改变,在列表节拍上整点“幺蛾子”!之前我们先容了让列表页面中的条目分组表现,这算一种体积地区的分别改变,本日先容另一种让列表页变大度的要领:实现列表条目隔行换配景致

实现DedeCMS列表页模版条目隔行换色的要领大抵有三种方案:

一 操作 配景图片 实现改换列表条目配景致

起首别笑,我知道这要领很傻,但这也是最最……最简朴的要领(在N年前刚打仗CSS时的我就是用这种要领……),一言以蔽之:配景图片!譬喻列表行高20px,那么我们就做一张40px高度的配景图片,每20px高一个颜色——上下两种均高颜色的图片。配置配景图片平铺在列表外层容器上。

哈哈,有点彪。云云列表弱点是行高必需牢靠,否则行高不均等配景图片就露馅了。甜头是超不变的赏识器兼容(相对第三种要领),以及很薄弱很薄弱的镌汰了处事器压力(相对第二种要领)。

so,虽傻也不容小觑 =。=!

二 操作 {dede:list} 轮回标签实现改换列表条目配景致

第二种要领我们必要操作DedeCMS体系的 [field:global.autoindex/],这个DEDECMS标签是一个自增添标签,他的值是从1开始,随着你的列表自动自增。在我们做网站计划和建造DedeCMS模板时很是好用。在如下代码中你可以将它领略为一个判定,当火线表数是单数照旧偶数?假如是单数列就为 li 加 class=”color1″,假如是偶数列就为 li 加 class=”color2″。


<ul>
{dede:list pagesize='20' titlelen='80'}
     [field:global.autoindex runphp='yes'] 
     if((@me % 2) == 0){ 
     @me ='<li class="color2">'; 
     }
     else{ 
     @me = '<li class="color1">'; 
     }
     [/field:global.autoindex]
     <a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:list}
</ul>

通过这样我们就可以通过差异的CLASS标签赋予差异的结果,信托认识CSS样式表的你能做出更多的差别结果,不光单是改变配景致那么简朴!

三 操作 CSS选择器 实现改换列表条目配景致

第三种要领行使起来最简朴,看过 20个常用CSS选择器吧 这篇文章的伴侣们应该有些印象,我们可以操作 :nth-child(n) 序号选择器来直接对CSS样式表举办界说。

X:nth-child(n) 这个伪类用于设定一个序列元素(好比li、tr)中的第n个元素(从1开始算起)的样式。

譬喻我们的列表条目 css 标签为 ul.article-list li {} 那么我们可以在CSS样式内外这样界说:


ul.article-list li {
     background-color:white;
}
ul.article-list li:nth-child(2n) {
     background-color:gray;
}

样式中的 ul.article-list li:nth-child(2n) 就意味着偶数行,以是操作CSS选择器就可以实现列表隔行换配景致这个简朴的界说。不外这个要领在IE6中失效,以是你必要对你面临的用户有所判定来详细思量用哪种要领。