Не удается получить раскрывающийся список CSS над файлом Flash

Asked
Viewd1556

2

Я обыскал все и перепробовал все доступные мне методы, но не могу отобразить раскрывающиеся меню CSS над файлом Flash.

Вы можете перейти по адресу: http://beta.riverlifefellowship.com и имя пользователя - «riverlife» ипароль - "поток" (без кавычек на обоих).

Я использую swfObject и имею набор <param name="flashvars" value="wmode=opaque"/>.Элемент div вокруг раскрывающегося списка - это абсолютная позиция с z-index равным 9999, а div вокруг файла flash - относительная позиция с z-index, равным -1

Мы будем благодарны за любые предложения, которые стоит попробовать!

[Примечание: он работает во всех браузерах в Mac OS, но не во всех браузерах в Windows]

4 ответов

6

Установите прозрачность свойства wmode на Flash - обычно это работает

РЕДАКТИРОВАТЬ: Вы используете <object> для встраивания .swf - это один из способов, но <embed> будет работать в большем количестве браузеров и фактически решит проблему по большей части в сочетании с уже установленным wmode.В Adobe Dreamweaver есть отличный способ создания JavaScript, который обрабатывает выбор или <object> в зависимости от браузера.Но без этого ваш код должен выглядеть примерно так.(Это проверено в Firebug и работает)

 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
    codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="980" height="250">
    <param name="movie" value="/files/themes/RiverLife-Oct09/media/header_ssp2.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <embed src="/files/themes/RiverLife-Oct09/media/header_ssp2.swf" quality="high" wmode="opaque" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="980" height="250"></embed>     
    </object>
 
  • Мне нравится ваш ответ, и вы опередили меня примерно на 13 секунд!хе-хе

    Zoidberg13 ноября 2009, 20:40
  • Вы делаете это в HTML, а не в SWF

    Jarrett Widman13 ноября 2009, 20:35
  • У меня wmode = "непрозрачный", но мне все равно не повезло.Я попробовал прозрачный, но это тоже не помогло.

    Jeremy H15 ноября 2009, 04:05
1

Раскрывающееся меню будет работать с position: absolute.

Изменить: У меня есть подобный случай, где у меня также есть раскрывающееся меню вверху и объект flash под ним.В моем случае в меню есть position: absolute и флэш-объект wmode="opaque". Возможно, также стоит упомянуть, что меню находится в контейнере div с overflow: auto и flash-объектом.У меня это работает.

Хорошо, давайте это запишем ..

 <div id="header">
    <div id="menu"></div>
</div>

<div id="flashContainer">
    <object id=flash"></object>
</div>




#header
{
    overflow: auto;
}
#header #menu
{
    position: absolute;
    top: 2px;
    left: 40px;
}
#flashContainer
{
    overflow: auto;
}
#flash
{
    float: left;
}
 
  • Может, вы посмотрите мою страницу \ CSS и скажете, где мне это нужно?У меня он есть в самом верхнем контейнере для меню, а также в самих раскрывающихся списках.Что мне не хватает?

    Jeremy H15 ноября 2009, 04:04
2

Вы установили режим wmode на прозрачный?

 <param name="wmode" value="transparent" />
 
5

Если вам на самом деле не нужна прозрачность (например, у вашего flash-ролика прозрачный фон), лучшим выбором будет использовать opaque для wmode, который будет иметь лучшую производительность, чем transparent. Только wmode="window" (который по умолчанию) запрещает браузеру рисовать поверх flash.

http://www.communitymx.com/content/article.cfm ? cid = e5141

Этот режим меня сбил с толку из-за такой формулировки: «Непрозрачный режим заставляет фильм скрывать все позади это на странице. Дополнительно непрозрачный режим перемещает элементы за Flash фильмы (например, с динамическими HTML), чтобы они не отображались через. "Правда в том, что, используя wmode = "opaque", вы разместили Flash Player прямо на страницу, теперь он может принимать размещение и позиционирование, как и любой другой элемент. Если только ваш зритель не использует совместимый браузер (список для подражания), z-index будет соблюдаться и оказано. Так что да, ты можешь двигаться элементы Flash-роликов, чтобы не позволять им просвечивать, но вы можете так же легко переместить элементы перед флеш-роликами чтобы Flash не показывал через.