Кроссбраузерная Совместимость В Svg.

Продолжаю серию тем про SVG. Векторные элементы SVG корректно отображаются в современных браузерах, но как реализовать поддержку в старых версиях? Давайте посмотрим на кроссбраузерную совместимость векторной графики.



Кроссбраузерная совместимость в SVG.

Предыдущие темы о SVG:



Использование элемента объекта

Если в файле .

svg графика сохраняется, то вы можете использовать элемент объект На странице:

  
  
  
  
  
  
  
   

<object data='images/apple.svg'></object>

При использовании следующей конструкции браузеры, поддерживающие SVG, будут правильно отображать векторные элементы, но другие будут отображать .

png файл( Демонстрация ):

<object data='images/apple.svg'> <img src='images/apple.png'/> </object>



Кроссбраузерная совместимость в SVG.

Основным недостатком этого метода является то, что изображения PNG не масштабируются.



Модернизр

Этот метод использует библиотеки JavaScript. Модернизр.

js И Рафаэль.

js .

Прежде всего, вам необходимо преобразовать файлы SVG в формат, поддерживаемый Raphael. Этот инструмент поможет нам в этом ГотовыйSetRaphael.js .

Подключите Modernizr.js:

<script type="text/javascript" src="scripts/modernizr.js"></script>

Затем, в случае неподдерживающего браузера, нужно включить Raphael.js, а также svg.js — полученный файл после конвертации.



if (!Modernizr.inlinesvg) { document.write( '<script type="text/javascript" src="scripts/raphael.js"><\/script>', '<script type="text/javascript" src="scripts/svg.js"><\/script>' ); }

Теперь все, что осталось сделать, это добавить HTML-разметку.

В приведенном ниже коде файл SVG включается непосредственно в HTML-код страницы, чтобы Raphael мог работать:

<svg version="1.1" xmlns=" http://www.w3.org/2000/svg " xmlns:xlink="http://www.w3.org/1999/xlink " x="0px" y="0px" width="500px" height="280px" viewBox="0 0 500 280" enable-background="new 0 0 500 280" xml:space="preserve "> <path fill="#333333" d="M296.908,120.622c-8.77,6.201-13.158,13.676-13.158,22.41c0,10.458,5.425,18.479,16.262,24.076 c-2.908,8.435-7.122,15.764-12.65,22.009c-5.516,6.243-10.553,9.368-15.11,9.368c-2.147,0-5.075-0.718-8.794-2.133l-1.782-0.687 c-3.646-1.416-6.854-2.133-9.656-2.133c-2.641,0-5.535,0.555-8.679,1.665l-2.237,0.807l-2.818,1.154 c-2.218,0.884-4.468,1.326-6.725,1.326c-5.328,0-11.208-4.387-17.642-13.161c-9.273-12.567-13.905-26.264-13.905-41.085 c0-10.538,2.886-19.02,8.678-25.46c5.78-6.432,13.446-9.658,22.979-9.658c3.566,0,6.897,0.653,10,1.958l2.129,0.865l2.238,0.92 c1.992,0.84,3.601,1.264,4.825,1.264c1.569,0,3.316-0.364,5.231-1.094l2.929-1.151l2.19-0.804c3.483-1.262,7.34-1.896,11.555-1.896 C282.777,109.183,290.814,112.996,296.908,120.622z M273.238,82.575c0.108,1.344,0.167,2.378,0.167,3.102 c0,6.628-2.412,12.442-7.237,17.443c-4.823,5-10.438,7.494-16.837,7.494c-0.189-1.493-0.29-2.563-0.29-3.212 c0-5.635,2.239-10.924,6.726-15.864c4.482-4.939,9.671-7.838,15.575-8.678C271.754,82.787,272.395,82.696,273.238,82.575z"/> </svg> <div id="applelogo"></div>

Вспоминая предыдущая статья , добавьте текст под файлом SVG:

<text x="210" y="250">This is SVG</text>

Вот что произошло( Демонстрация ):

Кроссбраузерная совместимость в SVG.



SVGWeb

Еще одним инструментом для реализации поддержки SVG в старых браузерах является библиотека JavaScript. SVGWeb .

После подключения к странице вы можете размещать SVG-элементы следующим образом:

<script type="image/svg+xml"> <svg .

>.

</svg> </script>

В XHTML вы должны использовать CDATA:

<script type="image/svg+xml"><![CDATA[ <svg .

>.

</svg> ]]></script>



Заключение

Описанные примеры кроссбраузерной совместимости SVG-графики не идеальны, но подходят как решение большинства проблем с корректным отображением векторной графики в старых браузерах.

Использованные материалы:

Теги: #веб-дизайн #Работа с векторной графикой #svg
Вместе с данным постом часто просматривают: