我目前正在做这样的事情:
<div id="container">
<div class="gridTab">
Home
</div>
<div class="gridTab">
Work
</div>
<div class="gridTab">
Gallery
</div>
<div class="gridTab">
Contact
</div>
</div>
每个“gridTab”应该有不同的颜色。从上到下。
使用nth-child
伪类
.gridTab:nth-child(1){background:red}
.gridTab:nth-child(2){background:lime}
.gridTab:nth-child(3){background:green}
.gridTab:nth-child(4){background:violet}
如果您正在寻找以下解决方案的 IE9,请使用以下方法
对于 IE7+ 支持
.gridTab:first-child {background:red}
.gridTab:first-child + div.gridTab{background:lime}
.gridTab:first-child + div + div.gridTab{background:green}
.gridTab:first-child + div + div + div.gridTab{background:violet}
您应该添加另一个在元素之间产生差异的类。然后按该类设置它们的样式。
<div id="container">
<div class="gridTab one">
Home
</div>
<div class="gridTab two">
Work
</div>
<div class="gridTab three">
Gallery
</div>
<div class="gridTab four">
Contact
</div>
</div>
然后是 CSS:
.one {
background: white;
}
.two{
background: blue;
}
.three{
background: red;
}
.four{
background: black;
}
如果您希望您的颜色随机且不同,您可以使用它。它消除了您需要为其编写样式的 div 数量的限制。
$(document).ready(function() {
$('.gridTab').each(function () {
var hue = 'rgb(' + (Math.floor((256-199)*Math.random()) + 200) + ',' + (Math.floor((256-199)*Math.random()) + 200) + ',' + (Math.floor((256-199)*Math.random()) + 200) + ')';
$(this).css("background-color", hue);
});
});
从这里引用
这是一个简单的代码:
$(".gridTab").each(function (i) {
var colors = ["#CCCCCC", "#333333", "#990099", "#EEEEEE"];
$(this).css("background-color", colors[i]);
});
您可以使用下面的nth-child
伪样式表来使用样式表,也可以像最后一个 div 一样在 div 标签中使用样式属性。
<style>
.gridTab:nth-child(1){background-color: red;}
.gridTab:nth-child(2){background-color: green;}
.gridTab:nth-child(3){background-color: blue;}
.gridTab:nth-child(4){background-color: yellow;}
</style>
<div id="container">
<div class="gridTab">
Home
</div>
<div class="gridTab">
Work
</div>
<div class="gridTab">
Gallery
</div>
<div class="gridTab" style="background-color: yellow;">
Contact
</div>
</div>
如果您想要特定对象的特定属性,则应该使用 ID。
你的 CSS:
#yellowTab {background-color:yellow;}
#redTab {background-color:red;}
#greenTab {background-color:green;}
#blueTab {background-color:blue;}
HTML:
<div id="container">
<div class="gridTab" id="yellowTab">
Home
</div>
<div class="gridTab" id="redTab">
Work
</div>
<div class="gridTab" id="greenTab">
Gallery
</div>
<div class="gridTab" id="blueTab">
Contact
</div>
</div>
如果没有 css,你可以用 JQuery 做这样的事情:
$('.gridTab:first').css('background', 'red');
$('.gridTab:second').css('background', 'blue');
等等...
这也可以这样实现:http: //jsfiddle.net/Ezn26/
for (var i = 0; i <= $('.gridTab').length; i++) {
$('.gridTab').eq(i).addClass('red').end()
.next('.gridTab').eq(i).addClass('green').end()
.next('.gridTab').eq(i).addClass('blue').end()
.next('.gridTab').eq(i).addClass('yellow');
}