Я за последнее время понял только одно. Нет лучших решений, есть наименьшее зло!
|
Цитата:
чтобы можно было писать так: background-image: url(file.svg#logo) и чтобы он от туда только нужное доставал. Ну а пока есть что есть, по этому я приведу последний раз свои аргументы, и попробуйте их перекрыть: 1) Много svg файлов обединенных в один лучше сжимаются чем каждый из них по отдельности. 2) Один файл грузится быстрее чем мнго маленьких. И на http2 и на http1, потому что сжатые и склеенные svg занимают не более 500 килобайт, а скорость одного потока не успевает за такое время упасть. По этому лучше распараллелить загрузку компонентов сайта, где файл с иконками один "компонент", нежели грузить каждый пук отдельно. 3) Подобное запаковывание svg в css позволяет делать лайврелоад svg без перезагрузки страницы. 4) Тот факт что третий пункт есть в WebPack не означает что не нужно порадоваться что я такой молодец написал плагин еще и на галп, к тому же я возможно напишу и на вебпак плагин. 5) У меня в css инлайнится не base64 кодирование а encodeURIComponent кодирование, оторое меньше весит и лучше сжимается. 6) Заодно плагин делает еще и оптимизацию svg другим плагином. ![]() |
Цитата:
Цитата:
*** Я наконец понял твой кейз, но дело в том, что мне гораздо проще использовать векторные шрифты или генерация SVG по JS шаблону (который в свою очередь описан на языке шаблонов). Кстати про шрифты, возможно скоро веб-шрифты научаться передавать цвет (намёк на возможную реализацию фичи). Цитата:
|
Вот уже есть плагины для данной задачи для WebPack:
https://github.com/kisenka/webpack-svg-sprite-loader https://www.npmjs.com/package/webpack-svgstore-plugin (не удивляйся, что в примере не CSS, т.к. в вебпак нет разделения на сущности файлов, а всё выстраивается конвеерами, например, css!svg-sprite!stylus) |
Цитата:
Цитата:
svgstore-plugin есть и на галп и он совсем другое делает, он делает запаковку которую мождно использовать в html лишь как <svg> <use link='file.svg#logo'> но как background-image в css использовать нельзя. background-image: url(file.svg#logo) будет просто весь svg рисовать или пустоту (так как все запаковано в обекты <symbol> а они невидимые). svg-sprite-loader делает то же самое. они просто запаковывают много svg в один svg. и его нельзя использовать как background-url, именно из-да background-url и было принято решение запаковывать все в css файл. Ну и как побочный эффект это дало лайврелоад. Название плагина моего, я напомню, gulp-svg-to-css вполне отражает суть. |
Цитата:
|
kobezzza, шрифтом вот так не сделаешь ;) http://uijs.ru/#about
|
Цитата:
Главный недостаток шрифтов на мой взгляд, что нельзя сейчас использовать множество цветов. |
kobezzza, разное сглаживание и размытие сильнейшее так что невозможно использовать для иконок. один цвет на всю иконку. нельзя анимировать. давай еще раз, нельзя анимировать, можно ли анимировать? НЕТ. Ты не сможешь анимировать. ТО что ты сказал это не анимация. Поанимируй например точку у буквы i ) НО основное это конечно не то что плохая пригодность, а НЕ пригодность для использования в качестве иконок из за размытия и сглаживания ужасного. Браузер сглаживает их как текст и поулчается ад, пруфы легко гуглятся.
|
Иди спать, пол пятого)
|
Часовой пояс GMT +3, время: 07:33. |