Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
23 / 23 / 11
Регистрация: 04.12.2012
Сообщений: 579
1

Оптимизация animation

05.06.2018, 22:06. Показов 980. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Использую на всём сайте эффект переливания градиента, сделанного на css аnimation.

Выглядит это примерно следующим образом:

CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
.main_page .first_screen {
    background: #ff9237;
    background: -moz-linear-gradient(135deg, #ff9237 0%, #b13cff 100%);
    background: -webkit-linear-gradient(135deg, #ff9237 0%,#b13cff 100%);
    background: linear-gradient(135deg, #ff9237 0%,#b13cff 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff9237', endColorstr='#b13cff',GradientType=1 );
    background-size: 200% 200%;
    background-position: center;
    -webkit-animation: GradientAnimation 10s ease infinite;
    -moz-animation: GradientAnimation 10s ease infinite;
    -o-animation: GradientAnimation 10s ease infinite;
    animation: GradientAnimation 10s ease infinite;
}
@-webkit-keyframes GradientAnimation {
    0%{background-position:0% 0%}
    50%{background-position:100% 100%}
    100%{background-position:0% 0%}
}
@-moz-keyframes GradientAnimation {
    0%{background-position:0% 0%}
    50%{background-position:100% 100%}
    100%{background-position:0% 0%}
}
@-o-keyframes GradientAnimation {
    0%{background-position:0% 0%}
    50%{background-position:100% 100%}
    100%{background-position:0% 0%}
}
@keyframes GradientAnimation {
    0%{background-position:0% 0%}
    50%{background-position:100% 100%}
    100%{background-position:0% 0%}
}
Столкнулся с проблемой на слабеньких компьютерах всё сильно начинает подвисать и становится невозможно пользоваться сайтом. Подскажите, можно ли как-то оптимизировать данный код? Может есть способ плавной смены градиенты другим методом? Или может можно как-то отлавливать "слабые" компьютеры и отключать для них анимацию? (подобных экранов просто несколько на странице с переливанием градиента)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2018, 22:06
Ответы с готовыми решениями:

Animation css
Недоделанная вещь это анимация... Задаешь несколько анимаций разных элементов, например, 6 букв...

Landing Page animation
Подскажите. Как вот сделать, чтобы при скроллинге странице некоторые дивы или картинки например...

CSS Animation не анимирует
Что не так? <div></div> div { height: 140px; width: 240px; background-color: black; ...

Css sprite animation
Задание: 1. Создать свой спрайт и организовать работу с изображением спрайта на веб-странице. 2....

1
Эксперт JSЭксперт HTML/CSS
3826 / 2676 / 1521
Регистрация: 12.07.2015
Сообщений: 6,672
Записей в блоге: 4
06.06.2018, 00:18 2
Можно убрать префиксы и проверять, поддержку linear-gradient\animation. Если не поддерживается, то просто фон поставить, без анимации. Но так мы только отсечем старые браузеры.
Можно попробовать узнать количество ядер процессора:
Javascript
1
2
3
4
5
6
7
8
9
10
11
let workerList = [];
 
for (let i = 0; i < window.navigator.hardwareConcurrency; i++) {
  let newWorker = {
    worker: new Worker('cpuworker.js'),
    inUse: false
  };
  workerList.push(newWorker);
}
 
alert(workerList.length)
NavigatorConcurrentHardware
polyfill

Но это все очень относительно.

Попробуте вырубать анимацию, когда блок находится вне видимости и включать ее только тогда, когда блок на экране.
0
06.06.2018, 00:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2018, 00:18
Помогаю со студенческими работами здесь

Не запускается keyframe animation
Есть css, в котором прописано: @keyframes a { 0% { opacity: 0.0; } 100%...

Поясните по animation-fill-mode
Доброго времени. Наверно, я туплю, но не могу понять animation-fill-mode: both. Как к элементу...

Css animation остановка в конечном состоянии
Пытаюсь сделать анимацию загибающегося уголка стикера по наведению. Вот что у меня получилось:...

Svg line animation c последующей заливкой
Суть. есть svg, с помощью css сделана анимация - контурная обводка. Вопрос, как сделать, что бы...

Не работает animation: bounce-fade 1.2s infinite;
position: absolute; bottom: 80px; left: 50%; margin-left: -10px; width: 21px; ...

Не работает ни animation, ни transition для свойства height
Здравствуйте, у меня не работает ни анимация, ни переход свойства height div'а. Анимация:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru