Обнаружить поддержку нескольких фоновых изображений? - PullRequest
1 голос
/ 11 сентября 2010

Я действительно хочу использовать множественную фоновую поддержку (Webkit, Firefox 3.6+), но я хотел бы предоставить альтернативное решение для браузеров, которые его не поддерживают. (IE, Firefox 3.5 -).

Есть ли способ обнаружить поддержку этой функции CSS? Или мне придется прибегнуть к снифферу браузера?

РЕДАКТИРОВАТЬ: Добро пожаловать решения Javascript

Ответы [ 3 ]

5 голосов
/ 07 марта 2011

Я знаю, что это довольно старый вопрос, но я подумал, что добавлю фрагмент JS, который можно использовать для его анализа. Код взят из источника Modernizr, но немного изменен:

function multipleBgTest(){

  var el_style = document.createElement("div").style;
  el_style.cssText = 'background:url(//:),url(//:),red url(//:)';

  // If the UA supports multiple backgrounds, there should be three occurrences
  // of the string "url(" in the return value for el_style.background
  return new RegExp("(url\\s*\\(.*?){3}").test(el_style.background);

}

Если функция возвращает true, то она поддерживается, в противном случае она вернет false.

2 голосов
/ 11 сентября 2010

Нет, в чистом CSS нет способа обнаружить, поддерживается ли несколько фонов. Но вы можете указать фон по умолчанию, а затем указать несколько фонов, которые разрешают ошибку со значением обработки и сохраняют старый, если он не поддерживается.

2 голосов
/ 11 сентября 2010

Использование http://www.modernizr.com/. Это фрагмент javascript, который будет настраивать классы в зависимости от того, какие функции имеет браузер. Затем вы можете использовать эти классы в CSS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...