我使用的表与交替行颜色与此。
t.d. d0 t.d.
background-color: # CC9999;
颜色:黑;
的
tr.d1 td
background-color: # 9999CC;
颜色:黑;
的
< table >
< tr =“d0级>
一号< td > < / td >
一号< td > < / td >
< / tr >
< tr课=“d1”>
二< td > < / td >
二< td > < / td >
< / tr >
- < table >
在这里,我将class用于tr,但我只想用于table。当我使用类表比这适用于tr替代。
我可以写我的HTML像这样使用CSS吗?
<table class="alternate_color">
<tr><td>One</td><td>one</td></tr>
<tr><td>Two</td><td>two</td></tr>
</table>
我如何能使行有“斑马条纹”使用CSS?
交替行选择器
以下是它的工作原理,以及如何使用模来在不同颜色的行之间交替(这里是3):
ol >李:nth-child (3 n + 1) {
背景颜色:蓝色;
}
ol >李:nth-child (3 n + 2) {
背景颜色:绿色;
}
/*下面的选择器等价于"n -child(3n)"* /
ol >李:nth-child (3 n + 3) {
背景颜色:红色;
}
< ol >
<李/ >
<李/ >
<李/ >
<李/ >
<李/ >
<李/ >
<李/ >
<李/ >
<李/ >
< / ol >
如前所述,选择器中使用的行索引从1开始(而不是0),这就是为什么第1、4、7行的选择器是第n -child(3n+1)。
选择器如何读取
对于索引i的行,选择器n -child(Mn+k)读起来就像(i % M == k)。例如,如果我们想选择所有以3为底取模等于2的行,我们可以在CSS中写n -child(3n+2),换句话说,选择器是这样做的:
const M = 3;
const k = 2;
for (let i = 1; i < 10; i+=1){
// The `nth-child(Mn+k)` selector:
if (i % M == k){
console.log(`${i} selected`);
}
}
输出
2 selected
5 selected
8 selected
交替行选择器
以下是它的工作原理,以及如何使用模来在不同颜色的行之间交替(这里是3):
ol >李:nth-child (3 n + 1) {
背景颜色:蓝色;
}
ol >李:nth-child (3 n + 2) {
背景颜色:绿色;
}
/*下面的选择器等价于"n -child(3n)"* /
ol >李:nth-child (3 n + 3) {
背景颜色:红色;
}
< ol >
<李/ >
<李/ >
<李/ >
<李/ >
<李/ >
<李/ >
<李/ >
<李/ >
<李/ >
< / ol >
如前所述,选择器中使用的行索引从1开始(而不是0),这就是为什么第1、4、7行的选择器是第n -child(3n+1)。
选择器如何读取
对于索引i的行,选择器n -child(Mn+k)读起来就像(i % M == k)。例如,如果我们想选择所有以3为底取模等于2的行,我们可以在CSS中写n -child(3n+2),换句话说,选择器是这样做的:
const M = 3;
const k = 2;
for (let i = 1; i < 10; i+=1){
// The `nth-child(Mn+k)` selector:
if (i % M == k){
console.log(`${i} selected`);
}
}
输出
2 selected
5 selected
8 selected