Ихний баннер наезжает на наш, что делать

Проблема достаточно стандартная для баннеров, не имеющих определенного места, то есть для ричей, лайнов и сайдеров. Попандер, хоть и безместный, показывается вообще в новом окне операционной системы, и этой беды не имеет.

Наши баннеры показываются поверх контента страницы. Их положение “выше всего” регулируется специальным стилем z-index. По стандарту максимальное значение 100, минимальное 1. Правда, не все броузеры выдерживают стандарт. Все обычные элементы страницы имеют значение 1. Данный стиль используется только в тех случаях, когда элементы страницы перекрываются, например, когда поверх экрана нужно развернуть какое то окошко, для логина там, или просто информационное сообщение. Кстати, в интерфейсе каванги вы можете такие окошки найти во множестве.

Большинство сайтов таким безобразием не злоупотребляет, это им просто не нужно - зачем скрывать какие то части под другими?

Наши баннеры используют максимальное значение стиля, в случае с тем же лайном 98 для маленького баннера и 99 для большого.

Один единственный раз случилось, что сайт от нехрен делать всем своим элементам выставил z-index что то около трех тысяч. Я их распрашивал, зачем, ничего вразумительного не сказали... ну вот просто так...

Из этой красивой картины, как всегда, выбивается флеш. Дело в том, что при вставлении в страницу флеша, необходимо указать целую кучу невнятных параметров. В первую очередь, конечно, адрес флешки и размер, но и более мутных вещей там достаточно. Среди них выдяляется параметр wmode. Он может принимать три значения, transparent, opaque и window.

transparent означает, что цвет фона у ролика делается прозрачным, и сквозь него просвечивает то, что находится ниже. Все ричи вставляются исключительно в прозрачном режиме. Кстати, иногда случается, что баннер на странице совсем не видно, хотя он замечательно выглядел в проигрывателе у дизайнера. Потому что он рисовал баннер белыми линиями на синем фоне. А на странице фон стал прозрачным, и баннер оказался нарисованным белыми линиями поверх серого текста.

opaque - обычный, стандартный режим. Непрозрачный, фон честно закрашивается заданным цветом. z-index работает! То есть если слой, в котором находится флеш ниже, чем какой то другой слой, то этот другой будет нарисован сверху. Нормальное, стандартное поведение, именно оно обязательно для всех баннеров. Все более-менее работающие крутилки давно усвоили этот факт и все рисуют баннеры именно с параметром wmode=opaque.

window - не знаю, как правильно обозвать этот режим. Что то вроде “считать себя окном”. Флеш рисуется непрозрачным, причем поверх всего. И плевать он хотел, на то что выше или ниже его, он рисуется выше всех. Это приводит в первую очередь к невозможности нарисовать окно поверх страницы, перекрывает другие баннер и вообще выглядит некрасиво, как любое хамство. Но самое забавное начинается, когда на странице перекрывают друг друга два обнаглевших флеша. Разные броузеры ведут себя по разному, причем поведение меняется от версии к версии. Был случай, когда фаерфокс не выдерживал битвы титанов и умирал, от огорчения даже не освободив память, я видел оперу, которая старательно перерисовывала по очереди один флеш поверх другого, сожрав весь процессор, и подвесив операционную систему... это смешно обсуждать, и совсем не смешно видеть. Но самое худшее в том, что именно режим window является режимом по умолчанию. Самодельные, сделанные на коленке баннерные крутилки про этот параметр нередко забывают, пользуются готовыми яваскриптовыми классами. Между тем, классы эти сами ничего не выдумывают, режим необходимо явно задавать. А вот про это просто забывают.

Спасает нас от полного разгрома то, что домашние поделки как правило не занимаются показами сложных летающих баннеров, потому их флеши не конфликтуют хотя бы между собой. Наши безместные баннеры вставляются либо в режиме transparent, либо opaque, так что страниц не вешают. Но вот ниже какого то обнаглевшего баннера вполне могут оказаться.

В таких случаях можно смело просить у владельца сайта изменить режим показа флеша с wmode=window на wmode=opaque.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: