Как перекрыть flash (swf) другим объектом

Иногда при верстке требуется разместить флешролик под другим слоем например.
Делается это очень просто, но мало кто знает как.
А я вам расскажу.

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

<param name="wmode" value="opaque" />

Весь html код будет выглядесть так:

<object type="application/x-shockwave-flash" data="images/flash/test.swf" width="200px" height="300px"> 
<param name="movie" value="path-to/movie.swf" />
<param name="wmode" value="opaque" /> <!-- это параметр позволяет перекрыть объект -->
<embed src="path-to/movie.swf" type="application/x-shockwave-flash" wmode="opaque" width="200" height="300" />
</object>
<div class="overflow_swf"></div> <!-- Этим блоком и будем перекрывать флеш -->

В css добавляем:

.overflow_swf { /* блок, которым будем перекрывать flash */ width: 100px; height: 200px; position: absolute; top: 0; left: 0; z-index: 2; }

Естественно родительский элемент должен иметь свойство position:relative

Запись опубликована в рубрике Старые посты. Добавьте в закладки постоянную ссылку.

7 комментариев: Как перекрыть flash (swf) другим объектом

  1. MaxL говорит:

    Насчет

    но мало кто знает как.

    ошибаешься.

  2. Аноним говорит:

    этот метод действительно работает везде, кроме Safari для windows. Пример бага можно посмотреть на http://www.adobe.com/products/flash/?promoid=BPDEE

  3. Аноним говорит:

    К сожаления не ошибается

  4. Илья говорит:

    <embed wmode='opaque' … только помогает

  5. dima говорит:

    Кстати вспомнил один недостаток этого метода: если вам нужна прозрачная флешка, то ничего не выйдет. При смене wmode прозрачность пропадет…

  6. AmsterdamNV говорит:

    Спасибо, очень помогла статья! Удачи вам!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *