Проверить поддержку CSS свойств браузера с помощью JavaScript? - PullRequest
24 голосов
/ 27 августа 2009

Возможно ли в JavaScript узнать, поддерживается ли свойство CSS браузером клиента? Я говорю о свойствах вращения CSS3. Я хочу выполнять некоторые функции, только если браузер их поддерживает.

Ответы [ 4 ]

36 голосов
/ 03 августа 2011

Полагаю, вы можете сделать это следующим образом:

if ('WebkitTransform' in document.body.style 
 || 'MozTransform' in document.body.style 
 || 'OTransform' in document.body.style 
 || 'transform' in document.body.style) 
{
    alert('I can Rotate!');
}
8 голосов
/ 21 июня 2013

Для этой цели существует новый DOM API CSS.supports . FF, Opera (как поддерживает CSS) и Chrome Canary уже реализуют этот метод.

Для кросс-браузерной совместимости вы можете использовать мой CSS.supports polyfill

Пример:

CSS.supports("display", "table");//IE<8 return false

Но вам все равно нужно указать префикс браузера для префикса свойств css. Например:

CSS.supports("-webkit-filter", "blur(10px)");

Я предлагаю использовать Modernizr для обнаружения признаков.

0 голосов
/ 05 июня 2017

Может быть попробовать это?

var temp = document.createElement('div');
var isSupport = temp.style['propName'] != undefined;
0 голосов
/ 02 сентября 2016

Вы можете использовать Modernizr библиотека.

Пример преобразования CSS:

в файле .css;

.no-csstransforms .box { color: red; }
.csstransforms .box { color: green; }

в файле .js;

if (Modernizr.csstransforms) {
  // supported
} else {
  // not-supported
}
...