3 ms·
I'm using icon font to show a grid of icons, where each icon can be clicked to toggle it "on" or "off". Example: https://i.imgur.com/EHYHVDw.png https://i.imgur
by cuu508 4y ago
I'm using icon font to show a grid of icons, where each icon can be clicked to toggle it "on" or "off". Example: https://i.imgur.com/EHYHVDw.png https://i.imgur.com/EHYHVDw.png
When I was implementing this, I initially experimented with the img tags – easy to implement, easy to have multi-color icons. But the grid can potentially have 100s of rows, potentially resulting in 1000+ of img tags. When testing with img tags, my site became noticeably sluggish (on a quick desktop PC). With icon fonts, the icon grid is basically lines of text, and the browser can render it with no noticeable performance impact.
- 8n4vidtmkvmk 4y agoi too use an icon font, but if you want images you should use a spritemap. it shouldn't be sluggish.
- EGreg 4y agoI write a framework, not an app. In any event, I need to allow others to style my icons with their own colors. Hence I use a font. Is there a way to use SVG sprites or something, while also letting people control the stroke color with css? Seems yes: dont put CSS in the svg. But why not just use a font? https://stackoverflow.com/questions/37940282/changing-the-stroke-color-for-an-inline-svg https://stackoverflow.com/questions/37940282/changing-the-st...
- kroltan 4y agoIf you can create a customized font file that is tiny and only has the icons you actually use, sure. But the "wrong tool for the job" point still stands, users with custom fonts disabled (for performance or accessibility reasons) will not be able to see your icons.
- easrng 4y agoSVG with <use> tags should work perfectly.
- 8n4vidtmkvmk 4y agoYes, you can even put `color: currentColor` in your SVG file and then color it exactly the same way as your fonts (it'll use the current text color). Why not? I don't know, you're asking the wrong person, I use a CSS font too. My reasons are (a) last time I looked into putting SVGs into a sprite-map to avoid 1000 HTTP requests it was a shitshow (not well supported), and (b) Chrome and other browsers would sometimes align the SVG on a half-pixel causes the edges to be a little blurry, whereas fonts get special treatment to ensure they are crisp. That was years ago tho.
- deleted 4y ago[deleted]