Как разместить HTML-контент над Flash-роликом?

На сайте, над которым я работаю, есть заголовки Flash (для их встраивания используется swfobject). Теперь мне нужно написать небольшой фрагмент HTML-кода, который должен перекрывать Flash-ролик.

Я пробовал установить z-index в контейнере Flash-элемента и (абсолютно позиционированном) div, но он продолжает «исчезать» за Flash-фильмом.

Я надеюсь на решение CSS, но если есть немного JS-магии, которая поможет, я готов.

Обновлять: Спасибо, установка wmode на "transparent" в основном это исправила. Только Safari / Mac все еще прятал div за вспышкой при первом показе. Когда я переключался на другое приложение и возвращался обратно, оно было впереди. Я смог исправить это, установив начальные стили div на display: none; и сделав его видимым через JS через полсекунды после загрузки страницы.

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

svinto 21.01.2009 19:31
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
9
1
12 085
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ответ принят как подходящий

Убедитесь, что для FlashVar "wmode" установлено значение "transparent" или "opaque", но НЕ по умолчанию, "оконный" ... тогда вы сможете использовать z-index CSS.

wmode похож на золотого идола, похороненного в самых глубоких джунглях Южной Америки. Помню, я был в восторге, когда впервые услышал об этом.

matt lohkamp 24.09.2008 01:13

Просто имейте в виду, что он не работает с браузерами Linux, за исключением бета-версии Flash 10 и самых последних браузеров (Fx 3.0.0+, Opera 9.50+, не знаю о других).

Michael Johnson 24.09.2008 09:46

Сколько пользователей Linux НЕ обновляют свои браузеры и связанные программы? Это смекалистая по определению демографическая группа.

Steve Paulo 24.09.2008 20:22

Некоторое довольно большое количество пользователей Linux также в принципе запускают плагины для браузера, убивающие flash / swf, поэтому я стараюсь не слишком беспокоиться о них при разработке. </semisnark>

defmeta 29.09.2008 19:12

Отличия этих режимов: stackoverflow.com/questions/886864/…

JDandChips 08.12.2014 18:07

Последующее примечание: как вы обнаружили в своем обновлении, отображение HTML поверх Flash в настоящее время является сложной задачей, и даже с магией JS, которую вы обнаружили, вы должны ожидать, что Flash заблокирует ваш HTML для некоторых зрителей, использующих отключение -браузеры, старые версии и т. д.

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

Вы, конечно, правы. В этом случае клиенту все равно, но в целом это разумный совет.

Lasar 24.09.2008 15:00

Однако в данном случае возникает другой вопрос: сколько мобильных устройств поддерживают Flash? IPhone, я уверен, может быть, некоторые из смартфонов Windows Mobile, но после этого? (Кроме того, я плохо разбираюсь в мобильных веб-разработчиках, поэтому я действительно не знаю ...)

Steve Paulo 24.09.2008 20:21

Стив: удари, переверни это! Большинство современных смартфонов поддерживают Flash, за исключением iPhone, который не поддерживает. В частности, большинство современных телефонов (то есть с веб-браузерами) имеют Flash Lite, обычно версии 2.x или 3.x. Flash Lite 2.x примерно похож на Flash 6, а Lite 3.x похож на Flash 8.

fenomas 25.09.2008 07:21

Набор эта флэш-переменная вроде этой

s1.addParam("wmode","transparent");

потом в теге div используйте этот стиль

style = "z-index:inherit; 

Проблема будет решена.

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

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

Я хотел бы добавить, что вы должны не забыть установить параметры WMODE («прозрачный») как в тегах OBJECT, так и в EMBED!

Подробности смотрите по ссылке: http://kb2.adobe.com/cps/142/tn_14201.html

используйте код в следующем стиле, он работает в Firefox и Chrome

<object id='myId'  width='700' height='500'>
            <param name='movie' value='images/ann/$imagename' />
            <param name='wmode' value='transparent' />
            <!--[if !IE]>-->
            <object type='application/x-shockwave-flash' data='images/ann/$imagename' width='700' height='500' wmode='transparent'>
            <!--<![endif]-->
            <div>
                <h1>Please download flash player</h1>
                <p><a href='http://www.adobe.com/go/getflashplayer'><img src='http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a></p>
            </div>
            <!--[if !IE]>-->
            </object>
            <!--<![endif]-->
        </object>

Другие вопросы по теме