Explore the feasability of using an icon font instead of inline svg or background image svg
Method | Page Weight | Requests | Cache | CSS Effects |
---|---|---|---|---|
Inline SVG | ~200kb | 1 | No (for most dynamic pages) | Yes (including individual parts) |
Background SVGs | ~30kb | 108 | Yes | Yes |
Font Icon | ~30kb | 3 | Yes | Yes |
<div class="i i-action i-xl"><i></i></div> <div class="i i-action i-l"><i></i></div> <div class="i i-action i-m"><i></i></div> <div class="i i-action i-s"><i></i></div> <div class="i i-action i-xs"><i></i></div>
Normally the nested 'i' tag wouldn't be needed but the color icons make this necessary so might as well keep it consistent.
This also means that any icon can be made color, and additional indicators can be added like mail with a green dot.
(use with great discretion)
<div class="i i-document i-s"><i></i></div> <div class="i i-document i-s i-disabled"><i></i></div> <div class="i i-document i-s i-success"><i></i></div> <div class="i i-document i-s i-warning"><i></i></div> <div class="i i-document i-s i-pending"><i></i></div> <div class="i i-document i-s i-error"><i></i></div>
<div class="i i-document i-m i-notify"><i></i></div> <div class="i i-document i-m i-notify-success"><i></i></div> <div class="i i-document i-m i-notify-warning"><i></i></div> <div class="i i-document i-m i-notify-pending"><i></i></div> <div class="i i-document i-m i-notify-error"><i></i></div> <div class="i i-compliance i-m i-notify-error"><i></i></div> <div class="i i-classroom i-m i-notify-success"><i></i></div> <div class="i i-document i-m i-notify-success i-notify-pulse"><i></i></div>
<div class="i i-loading"><i></i></div> <div class="i i-spinner i-l"><i></i></div> <div class="i i-spinner i-m"><i></i></div> <div class="i i-spinner i-s"><i></i></div> <div class="i i-spinner i-xs"><i></i></div>
<a href="/" class="i i-administration i-l"><i></i></a> <a href="/" class="i i-administration i-m"><i></i></a> <a href="/" class="i i-administration i-s"><i></i></a> <a href="/" class="i i-administration i-xs"><i></i></a>
(Needs to have more target space incorporated)