Альтернативный на js вариант
Голый CSS 3 и простенькая оболочка - и ничего больше
Пока что решение ещё сырое, так как не все браузеры включили полноценную безпрефиксную форму решения. Так что в ближайшее время придётся менять 4 части (после перехода Opera на Chromium - 3).
И ещё: решение не кроссбраузерное. Поддерживаемые версии браузеров:
Mozilla Firefox 5+
Internet Explorer10+
Google Chrome
Safari 4+
Opera 12+
Так как решение "в лоб" весьма громоздко и содержит в себе много повторений, так что я создал небольшой php-скрипт, который генерирует требуемый код по минимальному количеству начальных значений. А, так как передача параметров через адресную строку требует нескольких т.н. хаков, то я завернул это в простенькую js-оболочку.
Вот что вышло...
Код ниже можно вставлять в абсолютно любое место html (верха, низа или формы ответа - неважно), НО предпочтительнее в html-верх, особенно для тяжёлых форумов.
Итак, данная функция подгружает код по вводимым параметрам.
<script>function getCuteLink( sel, colors, time ) { $('head').append('<link rel="stylesheet" href="http://www.kozhilya.ru/scripts/demos/cuteLinks/genCss.php?sel='+encodeURI(sel.replace(/#/g, '|'))+'&colors='+colors.join(',').replace(/#/g,'_')+((time)?'&time='+time:'')+'">'); }</script>
Параметры таковы:
Имя параметра | Описание | Пример |
sel | Самый простой CSS-селектор, какой вы используете для обычного css. | 'a#psy' |
colors | Массиы цветов, которые буду меняться, либо в буквенном, либо в HEX-представлении. Внимание: псевдофункции rgb, hsv и rgba работать не будут | [ 'red', 'yellow', '#00FF00', 'aqua', 'blue', 'purple' ] |
time | Необязательный параметр. Период повторений смены цветов в секундах. По умолчанию: 0.5 * <Количество цветов в графе colors> | 0.1 |
Таким образом, для создания "радужной ссылки" можно использовать код
<script>getCuteLink( 'a', [ 'red', 'yellow', 'green', 'aqua', 'blue', 'purple' ] );</script>
А для психоделически моргающей - такой:
<script>getCuteLink( 'a', [ 'white', 'transparent' ], 0.1 );</script>
Есть, правда, один нюанс: что бы при наведении курсора ссылка не моргала, пришлось сделать так, что бы ссылка в нормальном положении была того цвета, который был указан первый.