帝国CMS利用伪类选择器制作多彩tags
CSS3的强大想必好多人都晓得,但是目前还有好多人停留在“IE”时代,我目前测试了一下,我电脑XP系统装的IE8,只有谷歌和火狐浏览器支持,装的UC也没有太好支持,但是我笔记本装的是IE11,UC浏览器可以支持,其“超前”的应用现在老IE支持还是有点“困难”。
好了言归正传,对于一些技术小白来说帝国CMS的tags的调用都是超链接a后面加 即便调用出来也不是很美观“乌黑一片”有没有什么方法可以让这些tags看着像是无规则的样式。找了好久终于找到了-CSS3的伪类选择器::nth-child(an+b)。
前面nth-child暂时不说,后面a和b可以理解为两个变量,可以自己设定。
:nth-child(an+b)的伪类选择器的几种用法:
以<ul> <li></li> <li></li> <li></li> <li></li> <li></li> </ul>为例子写法:
第一种:简单数字序号写法
:nth-child(number)
直接匹配第number个元素。参数number必须为大于0的整数。
例子:
li:nth-child(3){background:orange;}/*把第3个LI的背景设为橙色*/
第二种:倍数写法
:nth-child(an)
匹配所有倍数为a的元素。其中参数an中的字母n不可缺省,它是倍数写法的标志,如3n、5n。
例子:
li:nth-child(3n){background:orange;}/*把第3、第6、第9、…、所有3的倍数的LI的背景设为橙色*/
第三种:倍数分组匹配
:nth-child(an+b) 与 :nth-child(an-b)
先对元素进行分组,每组有a个,b为组内成员的序号,其中字母n和加号+不可缺省,位置不可调换,这是该写法的标志,其中a,b均为正整数或0。如3n+1、5n+1。但加号可以变为负号,此时匹配组内的第a-b个。(其实an前面也可以是负号,但留给下一部分讲。)
例子:
li:nth-child(3n+1){background:orange;}/*匹配第1、第4、第7、…、每3个为一组的第1个LI*/
li:nth-child(3n+5){background:orange;}/*匹配第5、第8、第11、…、从第5个开始每3个为一组的第1个LI*/
li:nth-child(5n-1){background:orange;}/*匹配第5-1=4、第10-1=9、…、第5的倍数减1个LI*/
li:nth-child(3n±0){background:orange;}/*相当于(3n)*/
li:nth-child(±0n+3){background:orange;}/*相当于(3)*/
第四种:反向倍数分组匹配
:nth-child(-an+b)
此处一负一正,均不可缺省,否则无意义。这时与:nth-child(an+1)相似,都是匹配第1个,但不同的是它是倒着算的,从第b个开始往回算,所以它所匹配的最多也不会超过b个。
例子:
li:nth-child(-3n+8){background:orange;}/*匹配第8、第5和第2个LI*/
li:nth-child(-1n+8){background:orange;}/*或(-n+8),匹配前8个(包括第8个)LI,这个较为实用点,用来限定前面N个匹配常会用到*/
第五种:奇偶匹配
:nth-child(odd) 与 :nth-child(even)
分别匹配序号为奇数与偶数的元素。奇数(odd)与(2n+1)结果一样;偶数(even)与(2n+0)及(2n)结果一样。
当然帝国CMS的tags的调用都是a,那我们可以吧li换成a。
这里我就简单的写了一点,至于文本样式 可以再后面文章提到:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<style type="text/css">
#lizi { width:500px; height:500px; margin:auto; font-size:12px;}
#lizi a:nth-child(1) { padding:3px 5px; color:#FFF; background:#000; font-size:13px;}
#lizi a:nth-child(3n-4) { font-size:16px; color:#F00; font-weight:bold;}
#lizi a:nth-child(2n-1) { font-size:16px; color:#936;}
</style>
<body>
<div id="lizi">
<a href="#" target="_blank">自定义列表</a>
<a href="#" target="_blank">站点地图</a>
TAGS:帝国CMS , tags , 样式 , 伪类选择器 , nth-child
来自Davids zhou博客原创文章请尊重作者:http://www.zongk.com/zongk/11.html转载请标注此链接
Davids zhou | 站点地图 | | | 皖ICP备14017762号 如有侵犯您权利点击上面QQ -Powered By 帝国CMS -davids.zhou#qq.com(#换@)
Davidszhou个人博客主要记录在网站建设、SEO优化、python开发、PHP开发中遇到问题记录保存,作为他人参考学习教程