生成随机颜色纯CSS(无JavaScript的)?(Generate random color wi

2019-08-17 11:07发布

是否有可能产生随机颜色纯CSS和不使用JavaScript? 这也可能是不可能的,但我还是很好奇。

Answer 1:

我发现你的东西在这里 ,但它使用PHP。 我认为这是不可能的纯CSS。



Answer 2:

这是不是真的有可能在纯CSS。

然而,使用预处理器像SASS( 例如 )或更小( 例如 )可以,因为他们使用的脚本语言内置生成随机颜色供您。


一个侧面说明,可以帮助读者在未来使用的可能性CSS变量 。 我们可以这样定义一个变量的CSS

element {
  --main-bg-color: brown;
}

并使用它像这样:

element {
  background-color: var(--main-bg-color);
}

现在,我们可以用JS更改:

// From http://stackoverflow.com/a/5365036/2065702
var randomColor = "#"+((1<<24)*Math.random()|0).toString(16); 

document.documentElement.style.setProperty('main-bg-color', randomColor);

或者你可以选择使用随机颜色(比如用户输入)的完全不同的方式。 这使得像主题化的可能性。 有一件事你必须要考虑的是浏览器的支持 ,因为它现在是不是很大。



Answer 3:

并不是的。 活力只能与支持脚本的执行。



Answer 4:

<body style='background-color:<?php printf( "#%06X\n", mt_rand( 0, 0x222222 )); ?>'>

使用PHP



Answer 5:

根据这个网站, http://blog.codepen.io/2013/08/26/random-function-in-sass/其可能的,但不是纯CSS



Answer 6:

不完全是随机的,但与CSS:

步骤1 - 选择查询的背景,在序列命令他们和调整频率

    @keyframes bgrandom {
    0% { background: linear-gradient(90deg, rgba(255,255,255,0.98) 50%, rgba(255,255,255,0.96) 0%); }
    50% { background: linear-gradient(90deg, rgba(255,255,255,0.98) 50%, rgba(255,255,255,0.96) 0%); }

    55% { background: linear-gradient(90deg,  rgba(255,255,255,0.96) 50%, rgba(255,255,255,0.98) 0%); }
    80% { background: linear-gradient(90deg, rgba(255,255,255,0.96)  50%, rgba(255,255,255,0.98) 0%); }

    85% { background: linear-gradient(90deg, rgba(255,255,255,0.96) 50%, rgba(255,255,255,0.94) 0%); }
    100% { background: linear-gradient(90deg, rgba(255,255,255,0.96) 50%, rgba(255,255,255,0.94) 0%); }
    }

步骤2 - 启动动画(长度animationName REPEATMODE)

    #element{  animation: 1.2s bgrandom infinite; }

易于使用,定制和伟大工程。 可用于滑块,纺纱等类似的技术



文章来源: Generate random color with pure CSS (no javascript)?