麦田的博客

CSS3利用linth-child(n)实现隔几行设置元素

2020-02-06


hugo主题ivy首页就是全部文章列表,如果文章过多,一眼看去会视觉疲劳。虽然可以设置分页,但是我忽然想:能不能设置每隔10个li就写个标记,比如不同的颜色或者分割线来减少视觉疲劳!

通过谷歌搜索找到答案,还是谷歌最好用!解决方法:

nth-child(n),n 可以是数字、关键词或公式。选择器匹配属于其父元素的第N个子元素,不论元素的类型。

序号写法:

li:nth-child(3){background:orange;} /把第3个LI的背景设为橙色/

倍数写法:

li:nth-child(3n){background:orange;}/把第3、第6、第9、…、所有3的倍数的LI的背景设为橙色/

倍数分组匹配:

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/

其他写法:

ul li:first-child{margin-left:0;} /第一个/

ul li:last-child{margin-left:0;} /最后一个/

ul li:nth-child(5){margin-left:0;} /指定第几个/

ul li:nth-child(odd){background:orange;} /基数/

ul li:nth-child(even){background:orange;} /偶数/

隔三行设置颜色:

$(“tr:nth-child(3n)").css(“background”,"#eee”);

隔两行换一个颜色:

$(“tr:nth-child(2n)").css(“background”,"#eee”);

或者你是要每隔三行的第二行和第三行设置颜色

$(“tr:nth-child(3n)").css(“background”,"#eee”);

$(“tr:nth-child(3n+2)").css(“background”,"#ccc”);


相关内容

  • HTML引入CSS的方法和示例
  • HTML5点击按钮复制文字的代码
  • 标签

    CSS