Возникла такая проблема: svg sprite'ы не видны в браузерах, кроме самого gulp. Вот то что на хостинге ====>
А вот уже включеный галп и все прекрасно работает ===>
Скрипт для добавления спрайтов в body
;( function( window, document )
{
'use strict';
var file = 'img/symbols.svg',
revision = 1;
if( !document.createElementNS || !document.createElementNS( 'http://www.w3.org/2000/svg', 'svg' ).createSVGRect )
return true;
var isLocalStorage = 'localStorage' in window && window[ 'localStorage' ] !== null,
request,
data,
insertIT = function()
{
document.body.insertAdjacentHTML( 'afterbegin', data );
},
insert = function()
{
if( document.body ) insertIT();
else document.addEventListener( 'DOMContentLoaded', insertIT );
};
if( isLocalStorage && localStorage.getItem( 'inlineSVGrev' ) == revision )
{
data = localStorage.getItem( 'inlineSVGdata' );
if( data )
{
insert();
return true;
}
}
try
{
request = new XMLHttpRequest();
request.open( 'GET', file, true );
request.onload = function()
{
if( request.status >= 200 && request.status < 400 )
{
data = request.responseText;
insert();
if( isLocalStorage )
{
localStorage.setItem( 'inlineSVGdata', data );
localStorage.setItem( 'inlineSVGrev', revision );
}
}
}
request.send();
}
catch( e ){}
}( window, document ) );
Сделайте простую проверку: откройте файл спрайта symbols.svg
с помощью любого браузера. Если изображения иконок не появятся, то это и есть ответ на ваш вопрос.
Код иконки, который обернут тегами <symbol>... </symbol>
не отображается по умолчанию.
Это основная роль этого тега - не показывать изображение svg до вызова его с помощью команды use
Обычная работа со спрайтами выглядит так:
Добавляем файл спрайта в Html страницу
<object type="image/svg+xml" data="img/symbols.svg"></object>
Вызываем любую иконку из спрайта
<section class="advantages">
<div class="container">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<use xlink:href="img/symbols.svg#advatage-1"></use>
</svg>
</div>
<div class="container">
<svg>
<use xlink:href="img/symbols.svg#advatage-2"></use>
</svg>
</div>
</section>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте,есть задача реализовать следующий калькулятор на чекбоксах
На изображении есть объект который я принимаю от сервера, а должен отобразить количество всех, в моем случае компаний, в Html документе, то есть...
Есть 2 чекбокса с одинаковыми параметрами, как с помощьjquery выполнить проверку : если первый чекбокс активен то выводим оределенный блок Div ??