Резиновый фон и прозрачный фон в IE 6

прозрачный фон

Всем привет. Поскольку периодически поступают вопросы: Как сделать фоновое изображение, чтобы оно растягивалось на всю ширину экрана? Я решил рассказать, как это делается, создание резинового фона для сайта. Плюс к этому в уроке рассмотрена “борьба” с прозрачным png в IE 6.

Прежде чем перейти к рассмотрению фоновых изображений, давайте сначала разберемся с обычными изображениями.

Картинка, тег <img src=”” /> может тянуться. Для этого ей в параметре width надо указать число и поставить символ %.

Эта запись означает, что картинка займет 70% ширины элемента — родителя (того элемента, в котором находится картинка). То есть если поместить изображение в контейнер <body> </body>, то оно всегда будет занимать 70% от ширины окна браузера, а значит, будет менять свой размер, если мы будем изменять размер окна браузера.

Лучше указывать один параметр width, чтобы ширина и высота изображения изменялись пропорционально. Можно конечно задать и фиксированную высоту, но тогда изображение будет выглядеть не так как в оригинале.

Что касается фона, то здесь дела обстоят несколько иначе. Нельзя указать фоновому изображению, чтобы оно заняло 100% ширины элемента, для которого оно назначено в качестве фонового. Для фона это делается несколько иначе. Чтобы разобраться рассмотрим пример.

прозрачный фон

Когда-то я трудился над этим сайтом, и основной задачей было то, чтобы он растягивался на весь экран, независимо от ширины. В верхней части сайта (head) мы видим изображение, которое очевидно должно быть фоном и растягиваться на всю ширину окна браузера.

Если нет своего примера для тренировки, можно скачать psd — макет части head данного сайта здесь.

Теперь обратимся к макету.

Если в макете отключить все слои части head, то можно увидеть, что на самом нижнем слое лежит картинка, которая повторяется.

прозрачный фон

В общем-то, что выделено красным, то и повторяется. Значит, нам нужно вырезать такую картинку и поставить ее фоном для блока части head. Это картинка будет повторяться.

Теперь отключаем все слои и даже фоновый и включаем слой с дорогой. Вырежем картинку с дорогой, он будет вторым фоновым изображением для блока, который будет лежать внутри основного блока части head. Это изображение повторяться не будет. Оно будет всегда слева.

прозрачный фон

Обратим внимание, что фон у картинки прозрачный, и сохранять ее нужно в формате png-24. И должна стоять галочка transparency.

прозрачный фон

Изображение, которое вырезали первым, определяем как фоновое для div с классом head-main, а второе (с дорогой) кладем фоном в div с классом head-road, который в свою очередь кладем в div с классом head-main. Понятней будет если представить код:

А css код со вставленными фоновыми изображениями выглядит так:

В браузере мы увидим:

прозрачный фон

Все было бы ничего, но IE 6 не поддерживает прозрачный png. И в IE 6 мы увидим:

прозрачный фон

Прозрачности в IE 6 заменились серым цветом.

Что бы это исправить, познакомлю вас с методом, который предложил Drew Diller.

Суть его заключается в том, что мы для IE 6 подключаем файл DD_belatedPNG.js (скачать его можно тут), затем вызываем функцию DD_belatedPNG.fix, в качестве аргументов перечисляем классы элементов, в которых используется прозрачный png.

Код того, как это подключается для IE 6 ниже:

И в строке DD_belatedPNG.fix(»); , в скобках просто перечисляем названия классов, в которых используется в качестве фона прозрачный png. То есть для нашего случая конечный код выглядит так:

Если еще в каких-либо блоках используется прозрачный png в качестве фона, то классы этих блоков указываем через запятую.

Не заострил внимание на том где этот код размещать. Размещается он между тегами <head> и </head>.

Теперь и в IE 6 все выглядит так, как и должно быть. И далее можно размещать другие теги (например, принимать за меню) внутри div с классом head-road таким образом выстраивая шапку сайта.

Вот собственно и все. Видно, что фон здесь не тянется. Просто что-то повторяется, что-то остается слева стоять на своем месте, поэтому все выглядит хорошо при любом размере окна браузера.

В данном уроке мы познакомились, как работать с нестандартными ситуациями для фона. Плюс рассмотрели (как я думаю) уникальный метод борьбы с прозрачным png в IE 6.

Есть некоторые другие методы, но этот самый простой в применении, и для этого метода работают свойства фона, такие как background-position и background-repeat. В остальных методах эти свойства не работают.

Надеюсь, информация по созданию резинового фона и прозрачности png-файлов в IE 6, оказалась полезной. С вами был Андрей.

Автор: Андрей Бернацкий.

E-mail:contact@webformyself.com

Проект webformyself.com — Как создать свой сайт. Основы самостоятельного сайтостроения

Метки: ,

Похожие статьи:

Комментарии Вконтакте:

Комментарии (3)