Awesome
SVG Icon Web Component
A small web component for SVG icon, supporting sprite, CSS styling, bitmap fallback.
Usage
The browser-side script is available in build
folder.
Put this in your <head>
.
<script type="text/javascript" src="iconwc.js"></script>
Then you can use the tag svg-icon
in your HTML.
<svg-icon>
<src href="cow.svg" />
<src href="cow.png" /> <!-- PNG fallback for old browser -->
</svg-icon>
<svg-icon>
<src href="sprite.svg#cow" /> <!-- sprite SVG is good to go -->
</svg-icon>
Browser support
Works fine with IE9, latest Chrome, Safari and Firefox Nightly.
There's no SVG support on IE 8, so you need to declare a <src>
element which points to a PNG file as a fallback.
Custom tag name
If you want another tag name, it's easy to build the script yourself.
The tag name is specified in entry.js
:
let tagName = "someother-tagnameyoureallylike";
Then install Node.js and browserify
and babel
and grunt
:
npm install -g babel
npm install -g browerify
After that, clone this repo to your local machine and cd
to the directory.
cd /path/to/icon-webcomponent
Then run:
npm install
Finally run:
grunt
You will find your custom script in build/
.
Use as a library
You can install this via npm:
npm install icon-webcomponent
Then use it in your own code
var wc = require("icon-webcomponent");
var fn = wc("your-tagname");
fn();
Attention please
By standard, your custom tag name must have a dash in it. tag-name
is valid, but tagname
is not.
License
MIT