CSS实现网页中的隔行换色代码
时间:2016-04-07
以前在Dreamweaver中用表格布局网页的时候常常用到一种设计手法--隔行换色。也就是新闻列表或是列表类的每隔一行就换另一个色彩这样显得很漂亮也很合适阅读。所以这种手法被广大的设计师们收入囊中作为自己的又一把工具刀。但是随着网页标准浪潮的来袭,这种设计效果慢慢变得没有了,原因主要是来自于标准化后的这种效果的实现上。
由于标准后我们都用UL来代替了表格,代码虽然少了很多,但是好像效果也随之少了。隔行换色也遇到了瓶颈。曾采用过CLASS方式来进行隔行换色:
<ul>
<liclass="one"></li>
<liclass="two"></li>
<liclass="one"></li>
<liclass="two"></li>
</ul>
我们看到上面的代码所表现出来的是每行的CLASS都不一样,通过这样的方式的确可以解决隔行换色的问题,但是都被程序员告知这样写法程序没办法写。
这种设想在网页标准研究联盟中得到了反驳,认为样式的事没必要用行为去实现,并且用JS来实现的效果并不一定有CSS来解决的好。但这种效果实践后发现,可以用大背景实现。什么叫大景实现呢,意思就是说通过在父级设定背景从而使得当前级得到隔行换色或是隔N行换N色。
上图是一个实例应用,大家可以看到采用的是两行背景重复。而这个背景图是定义在UL上的而不定义在LI上。这样又使得我们少写一点代码,让代码显得更加的干净。同时这样技巧通过举一反三的思考就能做出更多很好玩的样式来,比如我们让每一行都不一样,或是让每一行都像是纸页脚卷起来一样,或是其它的什么花样,那就要看你能想出什么样的花招来了!