CSS expression в Webkit вызывает ошибки

CSS expression — метод записи выражений JavaScript непосредственно в свойствах CSS для браузеров Internet Explorer. Все остальные браузеры игнорируют expression.

Можно сказать, что это неплохой подарок дизайнерам, поскольку множетсво IE багов может быть исправлено при помощи expression. Но при этом то, что вы напишите в expression нужно как-то записать и для других браузеров.

Опытным путём было обнаружено, что конструкции в CSS вида:

<style>
.class {behavior:expression((function(){})(this))}
</style>

в браузерах на движке WebKit (Chrome, Safari) вызывают ошибки. Стили после данной конструкции браузеры перестают видеть и применять к элементам. Происходит это по вине фигурных скобок «{» и «}». Причём если убрать «{«, то баг исчезает, а если «}» — останется.

Чтобы избежать недоразумений, выносите подобные конструкции в конец CSS — файла.

Источник: https://www.kobzarev.com/programming/css-expression-in-webkit-causes-errors/

Михаил Кобзарёв

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: