Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Спрайт.doc
Скачиваний:
10
Добавлен:
09.06.2015
Размер:
82.94 Кб
Скачать

Прикладные тонкости

Естественно, рассматривая набор возможных эффектов при использовании фоновых изображений стоит отметить следующие:

  • Объект, полностью заполненный фоновым изображением. Здесь основную роль играют конечные размеры объекта (конечно, если изображение не повторяется по всем осям сразу: в таком случае использовать его для CSS Sprites не представляется возможным). Довольно часто фон под объектом может меняться в зависимости от каких-либо условий (преднамеренный акцент или действия со стороны пользователями), но для логики создания CSS Sprites это несущественно. Здесь же можно выделить три подслучая, соответствующих неповторяющемуся фону и повторяющему по оси X или Y.

  • Фоновое изображение заполняет не весь предоставленный ему объем (либо размеры объекта не заданы, либо заданы в относительных — em, % — единицах). Тут нам необходимо либо прикреплять повторяющееся изображение «в конец» спрайта, чтобы на той части объекта, что осталась без фонового изображения, не проявлялось никаких дефектов. Либо (в случае no-repeat) расположить изображения «лесенкой» (это особенно актуально в случае фона для элементов списка). Стоит отметить, что в зависимости от значения background-position CSS Sprites здесь могут быть как возможны, так и не возможны в принципе (например, в случае 100% 100%). Тут можно выделить еще несколько случаев, различающихся по background-position,background-repeat и линейными размерами блока.

  • Изображение является анимированным. Поскольку далее речь пойдет о применении PNG и JPEG-изображений для CSS Sprites, то анимированные изображения придется сразу выбросить из рассмотрения: поддержка анимированных PNG-изображений находится сейчас на самом зачаточном уровне в браузерах.

Все описанные примеры можно более четко структурировать по следующим группам.

  1. background-repeat: no-repeat, background-position: абсолютные числа, и заданы линейные абсолютные размеры.

  2. background-repeat: no-repeat, background-position: абсолютные числа, линейные размеры не заданы или заданы в относительных единицах.

  3. background-repeat: repeat-x, задана высота элемента.

  4. background-repeat: repeat-x, высота элемента не задана.

  5. background-repeat: repeat-y, задана ширина элемента.

  6. background-repeat: repeat-y, ширина элемента не задана.

  7. background-repeat: no-repeat, background-position: 100% 0, задана высота элемента.

  8. background-repeat: no-repeat, background-position: 0 100%, задана ширина элемента.

  9. background-repeat: no-repeat, background-position: 100% 0, высота элемента не задана.

  10. background-repeat: no-repeat, background-position: 0 100%, ширина элемента не задана.

  11. background-repeat: repeat.

  12. background-repeat: repeat-x или background-repeat: repeat-y, размеры элемента указаны в относительных единицах.

  13. background-repeat: no-repeat, background-position: в относительных единицах.

  14. изображение является анимированным GIF-файлом.

Глядя на эту спецификацию становится, в общем, понятно, в каком направлении двигаться для автоматизации создания CSS Sprites.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]