Каскадные Таблицы Стилей → Спрайтовая анимация на CSS 3
Спрайтовая анимация — одна из тех вещей, которые при всей своей примитивности успешно работают и применяются в компьютерной графике и играх уже больше четверти века. Даже в трехмерных играх есть спрайты — например, билборды взрывов. Во многих браузерных и флеш-играх применяют именно спрайтовую анимацию, так как она очень проста и не требует высокой производительности — просто переключай кадры и все! А с появлением анимации в CSS 3 стало возможным использовать спрайты на своих страницах без яваскриптов.
.NET → Спрайты изображений в ASP.NET легче легкого с помощью NuGet
Я подумал, раз сайт менеджера пакетов NuGet начал наполняться пакетами, то пора бы начать выбирать особо ценные пакеты. Такие пакеты, которые действительно делают полезные вещи, но могут быть пропущены разработчиками. Я собираюсь выискивать такие пакеты среди самых полезных проектов с открытым исходным кодом. Я собираюсь разбираться в том, как собраны эти пакеты, есть ли в них что-то особенно интересное в плане их применения на практике.
Начнем с того, что фреймворк Sprite and Image Optimization был обновлен до версии Preview 3. Этот фреймворк – пример того, что Microsoft может планировать для ASP.NET в будущем и вместе с тем, того, что вы можете попробовать использовать уже сегодня. И этот фреймворк стал еще проще, поскольку появился в NuGet.

Sprite and Image Optimization Preview 3
Начнем с того, что фреймворк Sprite and Image Optimization был обновлен до версии Preview 3. Этот фреймворк – пример того, что Microsoft может планировать для ASP.NET в будущем и вместе с тем, того, что вы можете попробовать использовать уже сегодня. И этот фреймворк стал еще проще, поскольку появился в NuGet.

Клиентская оптимизация → Клиентская оптимизация как сервис
Каскадные Таблицы Стилей → Годятся ли CSS-спрайты для шрифтов?
Возникла мысль: а нельзя ли использовать CSS-спрайты для того, чтобы выводить заголовки необычными шрифтами?
Кажется, что сделать это не так и сложно.
Наконец, можно сделать серверный код, который бы из шрифта (TrueType, например), автоматом бы делал спрайтовую заготовку.
При таком методе точно будет проблема с кернингом. Так что хорошо он будет работать не для всех шрифтов. Но, наверное, кернинговые пары можно было бы задать марджинами.
Кто-нибудь видел такое решение?
Update:
Благодаря хабраюзеру nuxdie нашлась готовая реализация этой идеи: fontjazz.com. Не позволяет только текст из заголовка копировать.
Update 2:
Хабраюзер Magarich предлагает свою реализацию — 5socks.net. Здесь можно и копировать. Жалко, что из-за прозрачности текста выделение тоже совсем не видно.
Кажется, что сделать это не так и сложно.
- Нужно подготовить CSS-спрайт — вывести все буквы в картинку и сделать CSS, в котором для каждой буквы есть свой класс, позиционирующий фон на нужное место в картинке.
- Помечаем строку, которую нужно преобразовать, специальным классом.
- В момент загрузки выбираем все помеченные строки и для каждой их буквы создаем span с классом, соответствующим букве из спрайта.
- Оригинальный текст скрываем. Возможно, прозрачностью.
Наконец, можно сделать серверный код, который бы из шрифта (TrueType, например), автоматом бы делал спрайтовую заготовку.
При таком методе точно будет проблема с кернингом. Так что хорошо он будет работать не для всех шрифтов. Но, наверное, кернинговые пары можно было бы задать марджинами.
Кто-нибудь видел такое решение?
Update:
Благодаря хабраюзеру nuxdie нашлась готовая реализация этой идеи: fontjazz.com. Не позволяет только текст из заголовка копировать.
Update 2:
Хабраюзер Magarich предлагает свою реализацию — 5socks.net. Здесь можно и копировать. Жалко, что из-за прозрачности текста выделение тоже совсем не видно.
Я пиарюсь → CSS Tidy: нужна помощь
CSS Tidy является полностью открытой и на данный момент одной из самых мощных библиотек по преобразования CSS-кода. В большинстве случаев ее используют для минимизации CSS-кода (что позволяет добиваться весьма впечатляющих результатов, пример с сайта CSS Tidy). Огромное количество сайтов предлагают минимизаторы, основанные именно на CSS Tidy: CleanCSS, CSS Formatter and Optimizer, CSS Compressot и многие другие. Даже YUI Compressor год назад уступал CSS Tidy по степени сжатия.
Количество настроек CSS Tidy впечатляет: это и сжатие наименований свойств (цветов, шрифтов, фона), и регистро-независимый вывод, и объединение селекторов для максимальной минимизации кода, и их сортировка, и исключение нестандартных CSS-свойств, и сохранение синтаксиса введенного кода, и т.д. (полный список поддерживаемых настроек с примерами).
Поскольку библиотека направлена на разбор и стандартизацию (как следует из названия — Tidy), а не только на минимизацию кода, то с ее помощью можно проворачивать довольно любопытные вещи. Например, выводить CSS-код в стандартном виде в любом формате (CSS Tidy поддерживает шаблоны вывода). Или осуществлять любые преобразование с таблицей стилей на странице (к слову, именно она используется для создания CSS Sprites и, естественно, в приложении для автоматической клиентской оптимизации — Web Optimizer). В Web Optimizer уже включена самая последняя версия CSS Tidy, в которой исправлены некоторые ошибки.
Поскольку приложение написано с учетом высоких требований к производительности, то работает оно очень шустро (в несколько раз быстрее того же YUI Compressor).
Но речь не совсем об этом.
Преамбула
Количество настроек CSS Tidy впечатляет: это и сжатие наименований свойств (цветов, шрифтов, фона), и регистро-независимый вывод, и объединение селекторов для максимальной минимизации кода, и их сортировка, и исключение нестандартных CSS-свойств, и сохранение синтаксиса введенного кода, и т.д. (полный список поддерживаемых настроек с примерами).
Поскольку библиотека направлена на разбор и стандартизацию (как следует из названия — Tidy), а не только на минимизацию кода, то с ее помощью можно проворачивать довольно любопытные вещи. Например, выводить CSS-код в стандартном виде в любом формате (CSS Tidy поддерживает шаблоны вывода). Или осуществлять любые преобразование с таблицей стилей на странице (к слову, именно она используется для создания CSS Sprites и, естественно, в приложении для автоматической клиентской оптимизации — Web Optimizer). В Web Optimizer уже включена самая последняя версия CSS Tidy, в которой исправлены некоторые ошибки.
Поскольку приложение написано с учетом высоких требований к производительности, то работает оно очень шустро (в несколько раз быстрее того же YUI Compressor).
Но речь не совсем об этом.
Клиентская оптимизация → Data URI [CSS] Sprites 1.1 — Автоматизация процесса сборки css спрайтов

Многим профессиональным веб-разработчикам известны приемы оптимизации сайтов. Одним из способов оптимизации является использование CSS спрайтов. Этим же разработчикам известно, какие существуют трудности с формированием, сборкой и пересборкой стандартных спрайтов. В инете можно найти инструменты для автоматизации этого процесса.
Я пиарюсь → Версия 0.4 — Stable Release Candidate
Веб Оптимизатор (Web Optimizer) — приложение для автоматизации всех действий по клиентской оптимизации — достиг версии 0.4. Список поддерживаемых систем ширится и растет с каждым днем: Drupal 5 и 6, Joomla 1.0 и 1.5, Joostina, Wordpress 2.7, PHP-Nuke, LiveStreet, vBulletin 3.8 и так далее.Подробное руководство по установке (немного устарело уже, правда)
Загрузить версию 0.4.0
Загрузить мини-установщик
Помочь проекту материально
Я пиарюсь → Версия 0.3.5
Web Optimizer (Веб Оптимизатор) — приложение, автоматизирующее все действия по клиентской оптимизации для произвольного сайта. На данный момент оно существует в виде отдельного приложения (которое нужно самостоятельно установить на сайт). Приложение протестировано и установлено на таких CMS как Drupal 5 и 6, Joomla 1.0 и 1.5, Wordpress 2.7 и многих других.
Подробное руководство по установке.
Загрузить версию 0.3.5.
Загрузить мини-установщик версии 0.3.5.
Подробное руководство по установке.
Загрузить версию 0.3.5.
Загрузить мини-установщик версии 0.3.5.
Я пиарюсь → CSS Sprites 2.0
После публикации серии статей на тему использования, ненужности и даже автоматизации CSS Sprites, после многодневного анализа текущего положения вещей удалось собрать некоторый набор наиболее часто возникающих проблем при использовании CSS Sprites и методов их решения. Также далее рассматривается прикладной способ по автоматизации создания CSS Sprites для произвольного проекта.
CSS Sprites, на самом деле, — всего лишь расширенное использование технологии
Обзор технологии
CSS Sprites, на самом деле, — всего лишь расширенное использование технологии
background, заложенной еще в спецификации CSS1. Все, до чего додумалось прогрессивное человечество за эти годы — это множественный фон у элементов (как он будет совместим с концепцией CSS Sprites еще придется проверить). Основные свойства, которые мы используем для задания фонового изображения.background-image— основная «рабочая лошадка». Именно за ней будущее в видеdata:URI, который в конце концов победит CSS Sprites. Но произойдет это нескоро.background-repeat— вторая не менее важная составляющая при использовании фонового изображения. Ведь задаваяno-repeatдля данного свойства, мы намеренно подчеркиваем, что допустимо использование CSS Sprites для «склейки» изображений (по умолчанию используетсяrepeat).background-position— «волшебная палочка» для CSS Sprites, позволяющая спрятать или показать определенные части фонового изображения.
Я пиарюсь → Версия 0.3
Web Optimizer (Веб Оптимизатор) — приложение, автоматизирующее все действия по клиентской оптимизации для произвольного сайта. На данный момент оно существует в виде отдельного приложения (которое нужно самостоятельно установить на сайт). В качестве базы для Web Optimizer использовался PHP Speedy.
Подробное руководство по установке.
Загрузить версию 0.3.
Подробное руководство по установке.
Загрузить версию 0.3.