我使用的表与交替行颜色与此。
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?
$(document).ready(function()
{
$("tr:odd").css({
"background-color":"#000",
"color":"#fff"});
});
tbody td{
padding: 30px;
}
tbody tr:nth-child(odd){
background-color: #4C8BF5;
color: #fff;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border="1">
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
</tr>
<tr>
<td>9</td>
<td>10</td>
<td>11</td>
<td>13</td>
</tr>
</tbody>
</table>
有一个CSS选择器,其实是个伪选择器,叫做n -child。在纯CSS中,你可以做到以下几点:
tr:nth-child(even)
background-color: #000000;
}
注意:IE 8不支持。
或者,如果你有jQuery:
$(document).ready(function()
{
$("tr:even").css("background-color", "#000000");
});
交替行选择器
以下是它的工作原理,以及如何使用模来在不同颜色的行之间交替(这里是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