Евгений Тарасевич: Инлайновый контекст форматирования - большая и сложная тема. В одном предложении не расскажешь. Читайте циклы статей по теме на css-live.ru.
Александр Шибков: канвас - это просто рисование. Как минимум добавляется самостоятельная обработка мыши для отработки реакций и прочий геморрой. Как в юности на паскале в графическом режиме =)
Александр Шибков: не спрайт, а именно одна картинка. в свг же можно управлять отдельными контурами/элементами.
Лучше пример - codepen.io/iamjoshellis/pen/KVdQqm
Вот единая цельная картинка. Масштабируется. Отдельные элементы анимируются (ткните барабаны)
Александр Шибков: У вас картинка в каком формате? Если растр, то лучше попросить у дизайнера векторный вариант.
Вектор загоняешь в иллюстратор и сохраняешь в свг
Или может быть фотошоп со встроенными смарт объектами. Тогда по отдельности смарт объекты в иллюстратор, потом в свг.
Что касается анимации, то в принципе анимируется так же как html элементы.
Оптимус Пьян: Очень даже очевидно - генерирует необходимый урл.
Никто не запрещает вам перенести этот код в другой модуль (контроллер/модель) и передавать во вьюху уже готовы урл. Но зачем? url() - это просто хелпер, построитель ссылок. Хелперы уместно использовать в шаблонах.
account-1: Строку юзерагента браузер пересылает серверу с каждым запросом, в http заголовках. Сервер (не важно какой язык там крутится) читает эту строку, анализирует, узнает браузер, и решает какой css отдать.
Библиотеки готовые есть https://www.yandex.ru/yandsearch?text=mobile%20detector
Были даже сервисы вроде, предоставляющие API для анализа юзерагента.
Александр Лозовский: Потому что просто невозможно математически сделать радиус больше половины размера элемента. Пока размер не превышает 2000px так и будет отрисовываться.