2013-03-10 35 views
21

是否可以用純CSS生成隨機顏色,而不使用JavaScript?這可能是不可能的,但我仍然好奇。用純CSS生成隨機顏色(無javascript)?

+2

這是不能做到的。 CSS非常靜態。 – Bart 2013-03-10 21:41:45

+0

http://stackoverflow.com/questions/476276/using-javascript-in-css – Blender 2013-03-10 21:43:11

+2

@Blender儘管這不是純粹的* CSS。 – Boaz 2013-03-10 21:44:04

回答

5

我找到你的東西here,但它使用PHP。我認爲用普通的CSS是不可能的。

2

不是。動態只能在腳本支持下實現。

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

使用PHP

4

這是不是真的有可能在純CSS。

但是,使用SASS(example)或LESS(example)等預處理器可以爲您生成隨機顏色,因爲它們是使用腳本語言構建的。


一面可以幫助讀者在未來的使用CSS variables的可能性。我們可以說

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

聲明一個CSS變量和使用它像這樣:

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); 

或者你可以使用一個完全不同的選擇隨機顏色的方式(如用戶輸入)。這允許像主題一樣的可能性。你必須考慮的一件事是browser support,因爲現在它不是很好。