2013-03-10 14 views

Odpowiedz

5

Znalazłem dla ciebie coś here, ale używa PHP. Myślę, że to niemożliwe z prostym CSS.

2

Niezupełnie. Dynamizm można wprowadzić tylko przy pomocy skryptów.

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

Używanie PHP

4

nie jest to możliwe w czystym CSS.

Jednak użycie pre-procesora takiego jak SASS (example) lub LESS (example) może generować losowe kolory, ponieważ są one zbudowane przy użyciu języków skryptowych.


Jedna strona pamiętać, że może pomóc czytelnikom w przyszłości jest możliwość korzystania CSS variables. Możemy zadeklarować zmienną CSS mówiąc

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

i używać go tak:

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

Teraz możemy ją zmienić za pomocą 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); 

Albo można użyć zupełnie inna sposób wybierania losowego koloru (np. wprowadzanie przez użytkownika). Pozwala to na takie możliwości jak motywy. Jedną rzeczą, którą musisz wziąć pod uwagę, jest browser support, ponieważ obecnie nie jest zbyt dobra.

Powiązane problemy