Плавно изменить цвета
Есть страничка, нужно что бы плавно изменялись цвета у элементов, с темного на более светлые и назад к темным, с определённым интервалом, например в 1000милисекунд. Для простоты взял один див с фоном и бордер и два спана, для всего указал только по пять цветов для простоты.
<style> div.g { background: #e1e1e1; border: 1px solid #cacaca;} /* background #dbdbdb; #d5d5d5; #cfcfcf; #c9c9c9; border #c4c4c4; #bebebe; #b8b8b8; #b2b2b2; */ span.a { color: #009900; } /* #00a500; #00b400; #00c300; #00d200; */ span.b { color: #0000ff; } /* #1e1eff; #3c3cff; #5a5aff; #7878ff; */ </style> <div class="g"> <span class="a">test</span><br> <span class="b">test</span><br> </div> Или если возможно как реализовать, что бы можно было указать начальный и конечный цвета, количство оттенков градиента и интервал с которым цвета меняются, возможно ли реализовать подобное? |
Лучше обойтись без скриптов.
https://developer.mozilla.org/ru/doc...CSS/transition https://developer.mozilla.org/ru/doc..._CSS_animatciy |
m~r.Nemo,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <style type="text/css"> div{ width:100px; height:100px; -webkit-animation: color 5s ease-in-out infinite; -moz-animation: color 5s ease-in-out infinite; -o-animation: color 5s ease-in-out infinite; animation: color 5s ease-in-out infinite; } @keyframes color { 0% { background-color: #FF0000; } 17%{ background-color: #FFA500; } 34%{ background-color: #FFFF00; } 51%{ background-color: #008000; } 68% { background-color: #0000FF; } 85%{ background-color: #000080; } 100%{ background-color: #800080; } } @-webkit-keyframes color { 0% { background-color: #FF0000; } 17%{ background-color: #FFA500; } 34%{ background-color: #FFFF00; } 51%{ background-color: #008000; } 68% { background-color: #0000FF; } 85%{ background-color: #000080; } 100%{ background-color: #800080; } } </style> </head> <body> <div></div> </body> </html> |
А разве все браузеры поддерживают? Иногда без скриптов не обойтись...
|
Конечно предпочтительнее что бы скрипт определил 50-100 оттенков градиента, вручную это немалый кусок работы, определить все оттенки для десятка-двух элементов...
|
Я бы так сделал если через скрип.
var color = ["FF0000", "FFA500", "FFFF00", "008000", "0000FF", "000080", "800080", "..."]; for (let index = 0; index < color.length; index++) { //а тут с каждой итерацией применяй новый цвет c нужной задержкой. } |
|
рони, я не про это имел ввиду, к примеру есть блочный элемент (див) высотой 1пиксель и шириной 60-100, задан фон градиентом, возможно ли узнать код цвета в каждой точке?
|
|
рони,
ясно, в принципе с css-анимацией разобрался, это то что мне надо, но остался вопрос как реализовать анимацию на яваскрипт, типа Цитата:
|
Часовой пояс GMT +3, время: 07:13. |