2012-04-15 5 views
1

Так что я работал на простой странице запуска сегодня для приложения я работаю надПлохо CSS фона Анимация

Я хотел поставить движущийся фон (параллакс эск), используя некоторые CSS анимации, как показано здесь
http://css-tricks.com/parallax-background-css3/

Я использовал фон-позиционный ход в ключевой кадр конфигурации с помощью функции WebKit одушевленного

здесь образец

#BigWrapper{ 
    -webkit-animation-name: MOVE; 
     transform: translate3d(0, 0, 0); 
     -webkit-transform: translate3d(0, 0, 0); 
     -webkit-animation-duration: 250s; 
     -webkit-animation-timing-function: linear; 
     -webkit-animation-iteration-count: infinite; 
    } 
    @-webkit-keyframes MOVE { 
    from { 

    background-position: 5% 5%; 

    } 
    to { 
     background-position: 1300% 600%; 
    } 
    } 

Это привело к снижению производительности. фоновое изображение представляет собой png32 с прозрачностью сжимается до 896kb. Я попробовал запустить аппаратное ускорение, используя пустой оператор translate3d, но никаких видимых изменений не произошло.

Я также попытался изменить положение фона на translate3d вместо этого, и он переместил целое div вместе с содержащимся в нем содержимым. Я не уверен, как произвести этот эффект без хитов производительности.

здесь является полигоном www.auroragm.sourceforge.net

ответ

1

Оказывается Все, что я должен был сделать, чтобы сообщить браузеру, чтобы остановить кэширование каждый раз, когда там было обновление, который, видимо, очень помогает:

<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 

ли трюк :)

1

Этот сайт работает на удивление хорошо на моем конце, с помощью Firefox или Chrome на Linux.

В каком браузере вы тестируете? Возможно, IE не очень хорошо реагирует на анимацию большого фонового изображения.

Рассмотрите возможность ограничения анимации фона на определенные браузеры.

Кроме того, обратите внимание на потемнение фонового изображения - движущиеся контрастные цвета на заднем плане заглушают центральную часть.

+0

Спасибо за Обратная связь. Я думаю, что ограничение ОС - это то, что я буду делать, по-видимому, с IE9 и iOS. Я также буду темнее фона, и я тоже подумал, что это слишком много. :) –

2

Хотя тестирование с использованием Chrome и Firefox в Windows XP приводит к хорошей производительности, ваши Tile.png и BlurBG.png, похоже, имеют довольно большой размер. Что касается меня, я бы скомбинировал Tile.png с BlurBG.png в один файл, поскольку Tile.png не выглядит как статический фон за движущимся BlurBG.png.

Но если вы хотите сохранить его в виде отдельных двух файлов, вы можете уменьшить размер файла больше. Мой личный инструмент выбора - PNGoo.

+0

Спасибо! Наверное, я ожидал маслянистой плавной производительности, но я попытаюсь объединить оба файла и посмотреть, дает ли он какой-либо прирост производительности. Я хочу, чтобы плитки были отдельными, потому что они загружаются быстрее, чем BlurBG, и вы не увидите белую страницу при загрузке сайта во время ожидания загрузки BlurBG. Я также использую png-компрессор, который уменьшил 5mb BlurBG до 900kb, что довольно хорошо. но я проверю PNGoo спасибо! –

+1

Я не сравнивал производительность, но, возможно, вам захочется проверить модель углеродного волокна CSS3 от Lea Verou тоже> http://lea.verou.me/css3patterns/#carbon-fibre :) Изменив число до 35% (вместо этого 15%), он будет похож на ваш Tile.png, но требует только 6 строк кода.Хотя, к сожалению, он не поддерживается в старых браузерах. – deathlock

+0

Я сомневаюсь, что это действительно помогло бы. Я уверен, что большая проблема - это движущееся изображение, а не Tiles.png, которое отображается до того, как движущийся фон начнет двигаться. Я искал более эффективный способ анимации движущегося фона –

Смежные вопросы