您可以使用生成一個隨機顏色的JavaScript函數:
function getColor() {
var r = Math.floor(Math.random() * 256);
var g = Math.floor(Math.random() * 256);
var b = Math.floor(Math.random() * 256);
return "#"+ r.toString(16) + g.toString(16) + b.toString(16) ;
}
,然後用JS DOM(或JQuery的),以改變各div
的CSS background-color
屬性:
var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++) {
divs.item(i).style.backgroundColor = getColor();
divs.item(i).innerHTML = getColor();
}
見JSFiddle
UPDATE:您也可以調用內部Less的方法,使用反引號可以訪問底層的JavaScript處理器(我不確定這是否適用於less4j之類的非JavaScript Less實現,因爲它沒有記錄特徵)。這混合:
.generateColor() {
@color: color(`"#" + (Math.random()*0xFFFFFF<<0).toString(16)`);
}
將設置@color
變量爲隨機生成的顏色。然後,您可以在選擇器塊中使用它:
.db-color-1 {
.generateColor();
background-color: @color;
}
.db-color-2 {
.generateColor();
background-color: @color;
}
.db-color-3 {
.generateColor();
background-color: @color;
}
並且每個類都將(希望)具有不同的顏色。
我想我沒看懂問題。你需要隨機選擇一種顏色並將其與一個元素相關聯? – gespinha
正在尋找這樣的東西? http://stackoverflow.com/questions/19036175/adding-a-random-class-to-element-from-an-array-that-duplicates-using-jquery – gespinha
Sass和LESS都是CSS預處理器。 – hutchbat