Я пытаюсь создать код, который генерирует случайный цвет фона при загрузке страницы, но также выставляет текст с цветом, зависящим от цвета фона. EG, если цвет фона темный, на нем будет отображаться светлый текст.Лучший способ генерировать случайный цвет фона с php на загрузке страницы
До сих пор я создал следующее, которое работает, хотя я не уверен, что это лучший способ его достижения.
Я создал массив, который решает случайным образом, должен ли цвет фона быть светлым или темным, и сделал это, чтобы я мог иметь два альтернативных цвета шрифта на основе схемы $. Я уверен, что будет гораздо более динамичный способ сделать это?
Затем я установил еще два массива, в которых перечислены несколько цветов как для темных, так и для светлых схем, с инструкцией elseif для вывода соответствующего css.
Существует несколько вещей, которые по этому поводу, что я хотел бы запросить: не
1) почему последняя строка в массиве никогда не выводятся? он делает это, поэтому я должен добавить пустую строку в каждый массив, так что один из них не опускается.
2) Какова наилучшая практика для достижения этого, а также самый динамичный метод.
<?php
header("Content-type: text/css; charset: UTF-8");
$input = array("dark", "light", "");
$rand_keys = array_rand($input, 2);
$scheme = $input[$rand_keys[0]];
if ($scheme == "dark") {
$darkBg = array('212a34', '383838', '000');
$rand_keys_1 = array_rand($input, 2);
$bg_colour = $darkBg[$rand_keys_1[0]];
echo 'body {background-color:#' . "$bg_colour" . '}';
echo 'h2 { color:#fff; }';
}
elseif ($scheme == "light") {
$lightBg = array('ebecee', '31a989', 'fff');
$rand_keys_2 = array_rand($input, 2);
$bg_colour = $lightBg[$rand_keys_2[0]];
echo 'body {background-color:#' . "$bg_colour" . '}' ;
echo 'h2 { color:#000; }';
}
else { echo 'body {background-color: #ef3c39;}'; }
?>
// вероятно, следует отметить, это будет предопределенный список цветов
я не хотел бы, чтобы посетить сайт, который сделал это –
* aaahhhhhhhhhhh .... * мои глаза! O.o – Jakub
Успокойтесь, это всего лишь учебный проект. – s3r3nd1p1ty