markdown SVGспрайты

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown SVGспрайты相关的知识,希望对你有一定的参考价值。

# Работа с SVG спрайтами

## GULP

gulp-svgstore

## Пример svg спрайта

    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="0" height="0"
         style="position:absolute;display: none;">
    
        <symbol id="icon-long-arrow" viewBox="0 0 943.4 493.4">
            <g>
                <path d="M938.5,239.3L798.9,119.3c-3-2.5-6.4-2.9-10-1.4c-3.6,1.5-5.4,4.3-5.4,8.3l10,84H127.1c-2.7,0-4.9,0.9-6.6,2.6
    		c-1.7,1.7-2.6,3.9-2.6,6.6v54.8c0,2.7,0.9,4.9,2.6,6.6c1.7,1.7,3.9,2.6,6.6,2.6h666.3l-10,84c0,3.8,1.8,6.6,5.4,8.3
    		c3.6,1.5,7,1,10-1.7l139.6-121.1c1.9-1.9,2.9-4.2,2.9-6.8C941.4,243.4,940.4,241.2,938.5,239.3z"/>
            </g>
        </symbol>
        <symbol id="icon-long-arrow" viewBox="0 0 943.4 493.4">
            <g>
                <path d="M938.5,239.3L798.9,119.3c-3-2.5-6.4-2.9-10-1.4c-3.6,1.5-5.4,4.3-5.4,8.3l10,84H127.1c-2.7,0-4.9,0.9-6.6,2.6
    		c-1.7,1.7-2.6,3.9-2.6,6.6v54.8c0,2.7,0.9,4.9,2.6,6.6c1.7,1.7,3.9,2.6,6.6,2.6h666.3l-10,84c0,3.8,1.8,6.6,5.4,8.3
    		c3.6,1.5,7,1,10-1.7l139.6-121.1c1.9-1.9,2.9-4.2,2.9-6.8C941.4,243.4,940.4,241.2,938.5,239.3z"/>
            </g>
        </symbol>
     </svg>
     
Где **ID** идентификатор картинки **viewBox** Размер картинки.
Не забываем поставить display: none;

## Использование в коде страницы

Инлайн стиль, сначала вставляем svg спрайт в код страницы, потом вызываем его:

    <svg class="icon icon-mark">
        <use xlink:href="#icon-mark"></use>
    </svg>
    
Вставка из внешнего файла:

    <svg><use xlink:href="sprite.svg#cart"></use></svg>
    
## Кэширование SVG
Можно закэшировать svg спрайт используя LocaleStorage для этого есть не большой год:

* file   = 'svg-sprite.html', - **файл спрайта**
* revision = 1; - **Версия, файла**

    
    ;( function( window, document )
    {
        'use strict';
    
        var file     = 'svg-sprite.html',
            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( 'srtSVGl' ) == revision )
        {
            data = localStorage.getItem( 'srtSVGdtl' );
            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( 'srtSVGdtl',  data );
                        localStorage.setItem( 'srtSVGl',   revision );
                    }
                }
            };
            request.send();
        }
        catch( e ){}
    
    }( window, document ) );
    

以上是关于markdown SVGспрайты的主要内容,如果未能解决你的问题,请参考以下文章

markdown 更多信息(занятых)портовнасервереилокалке(навсякий):

markdown Несоздаютсяфайлы,неудаляютсяфайлвебпроект权限被拒绝CentOS

php Выводпрофилейнасоцсети,сsvg-иконками

sql Dbpedia,попыткаполучитьвыборкутак,чтобысамыйрелевантныйвариантбылсверху

csharp Случайныепаузывнутрисниппета

php PHP__Абстрактныйклассиинтерфейспатернпроектирования