Эта малюсенькая заметочка о паре багов, замеченных мною при отладке верстки сайта, в которой активно используется 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.
Баг первый:
В 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.
Комментариев нет:
Отправить комментарий