Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html CSS从数组中选择随机颜色_Html_Css - Fatal编程技术网

Html CSS从数组中选择随机颜色

Html CSS从数组中选择随机颜色,html,css,Html,Css,CSS中有没有一种方法可以让它从数组中随机选取字体颜色?我知道我可以用服务器端或javascript来实现这一点,但我想知道是否有纯CSS的方法来实现这一点。这在CSS中是不可能的,因为CSS是确定的。不过,您可以使用客户端JavaScript实现这一点: var colors = ['#ff0000', '#00ff00', '#0000ff']; var random_color = colors[Math.floor(Math.random() * colors.length)]; doc

CSS中有没有一种方法可以让它从数组中随机选取字体颜色?我知道我可以用服务器端或javascript来实现这一点,但我想知道是否有纯CSS的方法来实现这一点。

这在CSS中是不可能的,因为CSS是确定的。不过,您可以使用客户端JavaScript实现这一点:

var colors = ['#ff0000', '#00ff00', '#0000ff'];
var random_color = colors[Math.floor(Math.random() * colors.length)];
document.getElementById('title').style.color = random_color;
如果使用jQuery,最后一行可能会变成

$('#title').css('color', random_color);

简单的JavaScript和JQuery

你可以这样做:

var hexArray = ['#hexVal','#hexVal','#hexval', '#hexval']
var randomColor = hexArray[Math.floor(Math.random() * hexArray.length)];

$("#divId").css("color",randomColor); //A class selector would work too

每次页面刷新时都会选择一种新的颜色。

允许通过CSS动态脚本内容的CSS表达式是在Web表单旁边的低效地狱中铸造的令人憎恶的东西,只有IE7及以下版本才支持。但既然你问了

<style>
blink marquee {
   color: expression("rgb(" + Math.floor(Math.random() * 255)
      + "," + Math.floor(Math.random() * 255) + ","
      + Math.floor(Math.random() * 255) + ")");
}
</style>
<blink>
   <marquee>
      color me beautiful
   </marquee>
</blink>
我就是这样做的

第一部分是顺序,元素1得到颜色1等

然后当你没有颜色时,它会随机化

//Specify the class that you want to select
var x = document.getElementsByClassName("ms-webpart-chrome-title");
var i;
var c;

//specify the colors you want to use
var colors = ["#009933", "#006699", "#33cccc", "#99cc00", "#f60"];
var d = colors.length;

for (i = 0; i < x.length; i++){
    while (i < d) {
        c = i;
        var random_color = colors[c];
        x[i].style.borderTopColor = random_color;
        i++;
    }
    while (i >= d) {
        var random_color = colors[Math.floor(Math.random() * colors.length)];
        x[i].style.borderTopColor = random_color;
        i++;
    }
}

无需使用预定义的颜色集,即可获得均匀随机的颜色函数

function randomColor(){
    rc = "#";
    for(i=0;i<6;i++){
        rc += Math.floor(Math.random()*16).toString(16);
    }
    return rc;
}

您可以使用Javascript,但不仅仅是CSS。你同意Javascript的回答吗?不,你不能。首先,CSS中没有数组这样的东西。谢谢。但我在寻找一种纯粹的CSS方式。似乎仅仅使用CSS是不可能的。你应该把答案标记为正确答案。。你自己承认的错误答案比正确答案获得更多选票是没有道理的one@abbood爆炸药丸的答案很有趣,但是:只有IE7及以下版本支持。这不是解决OP问题的现实方法。我不建议在IE7及以下版本中使用它们。好吧,这只是我的问题,还是人们对这个问题的投票完全是随机的?这是正确的answer@abbood如果这只在IE7及以下版本中起作用,那么这是一个怎样的正确答案呢?这是一个准确的描述。我不能用这个片段来真正做到这一点。将导致文本从右向左浮动,但在没有任何样式表的情况下也会发生这种情况。而且没有出现任何颜色…大帐篷很讽刺。我不敢相信帐篷还能用。
"#"+Math.floor(Math.random() * 0x1000000).toString(16)