понедельник, 4 июня 2012 г.

Снова про canvas в IE

Эта малюсенькая заметочка о паре багов, замеченных мною при отладке верстки сайта, в которой активно используется HTML5 canvas.

Баг первый:

В IE7 и IE8, если к элементу canvas применить стиль с display:none, то при смене стиля на display:block (например, по ховеру), нарисованное в canvas не будет отображаться.

Баг второй:


Пытаясь спрятать и показать canvas в борьбе с первым багом, открыл ещё один неприятный сюрприз: IE7 прячет canvas с помощью filter:alpha(opacity=0), а вот IE8 нет. И как ты этот filter ему не напиши!




Баг третий:

Мне так и не удалось заставить IE7 и 8 залить область в canvas паттерном. Ошибок javascript  нет, но область паттерном не заливает(

Первые две проблемы я решил довольно просто: В моем случае элементы canvas выступали за границы родительского элемента и я просто применил ему oveflow:hidden и overflow:visible по ховеру.

С третьим багом мне так и не удалось пока разобраться, поэтому я списал его на graceful degradation

P.S. Как я уже писал ранее, чтобы canvas работал в IE, надо подключать библиотеку excanvas.js.

Комментариев нет:

Отправить комментарий