Как оказалось, самое непосредственное. В какой-то момент я обнаружил, что, если к изображению применить AlphaImageLoader
sizingMethod
для масштабирования (scale
), мы сможем использовать объект AlphaImageLoader
для создания иллюзии гибкого изображения.Я сварганил небольшой JavaScript, чтобы автоматизировать этот процесс. Просто скачайте скрипт (http://bkaprt.com/rwd/16/
) и вставьте его в любую страницу с гибкими изображениями; он подготовит ваш документ для создания гибких, высококачественных объектовAlphaImageLoader
.Разницу можно заметить невооруженным глазом (рис. 3.8
) – из почти полностью искаженного наше изображение превратилось в безупречное. То же можно сделать и с гибким контекстом.Рис. 3.8.
Теперь наше изображение отлично читается и великолепно масштабируется. Скажем же спасибо AlphaImageLoader!(Стоит упомянуть тот факт, что проприетарные фильтры Microsoft, и в частности AlphaImageLoader
При применении правила max-width: 100 %
width: 100 %
и патча AlphaImageLoader
) вложенные картинки прекрасно меняют свой размер наряду со всей гибкой сеткой во всех браузерах в зависимости от размера окна браузера.Но что делать с изображениями, которые отсутствуют в нашей верстке?
Гибкие повторяющиеся фоновые изображения
Представим, что наш уважаемый дизайнер прислал исправленный макет модуля блога. Заметили, что изменилось (рис. 3.9
)?Рис. 3.9.
Теперь у нас появилась фоновая графика. Это круто!До этого момента содержание нашего блога располагалось на непонятном, практически белом фоне. Но теперь дизайн немного изменился, фон левой колонки стал серым для большей контрастности между колонками. Кроме того, в фоне появились еле заметные искажения, которые добавляют к нашему дизайну еще один слой текстуры (рис. 3.10
).Рис. 3.10.
Детальный взгляд на новый фонНо как нам добавить этот новый фон к уже существующему шаблону?
Еще в 2004 году Дэн Седерхольм написал прекрасную статью о том, как использовать вертикально повторяющуюся фоновую графику для создания эффекта «фальшивой колонки» (http://bkaprt.com/rwd/18/
). Гениальность технологии в ее простоте: повторяя цветное фоновое изображение по вертикали позади нашего контента, мы создаем иллюзию колонок одной высоты.В оригинальной версии Дэна фоновая графика располагалась по центру вверху области с контентом и повторялась по вертикали:
.blog {
background: #F8F5F2 url("blog-bg.png") repeat-y 50 % 0;
}
И этот прием работал великолепно. Однако он был рассчитан на макет с фиксированной шириной, то есть создавал графику, которая совпадала с ним по ширине. Как же, интересно, мы будем работать с фоновым изображением, которое покрывает две гибкие колонки?
Благодаря некоторым исследованиям дизайнера Дага Баумана (http://bkaprt.com/rwd/19/
) мы все еще можем применять технологию «фальшивой колонки». Просто нужно уделить немного больше внимания планированию и вытащить на свет нашу любимую формулуtarget ÷ context = result
.Сперва нужно снова глянуть на наш первоначальный макет, чтобы найти точку перехода на фоновой графике, точный пиксель, на котором белая колонка переходит в серую. Судя по всему, это происходит на 568 пикселе (рис. 3.11
).Рис. 3.11.
Белая колонка переходит в серую на отметке 568px. Это и есть наша точка переходаВооружившись этой информацией, мы можем адаптировать подход «фальшивой колонки» к нашей «резиновой» сетке. Сначала нам нужно конвертировать точку перехода в процентное значение, соответствующее ширине модуля нашего блога. Чтобы это сделать, снова воспользуемся формулой target ÷ context = result
568px
, ширина макета (контекста) – 900px
. Подставляем эти цифры в формулу:568 ÷ 900 = 0.631111111111111
И снова получаем какое-то невероятно длинное число, которое превращаем в проценты – 63,1111111111111 %