Как я могу наложить div с полупрозрачной непрозрачностью на встроенное видео youtube iframe?
<iframe class="youtube-player" type="text/html" width="520" height="330" src="http://www.youtube.com/embed/NWHfY_lvKIQ" frameborder="0"></iframe>
<div id="overlay"></div>
CSS
#overlay {
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:#000;
opacity:0.8;
/*background:rgba(255,255,255,0.8); or just this*/
z-index:50;
color:#fff;
}
edit (добавлено дополнительное разъяснение):
HTML5 приближается к нам, все больше и больше устройств используют его вместо flash, что усложняет встраивание видео на YouTube, к счастью, youtube предоставляет специальный встраиваемый iFrame, который решает все проблемы совместимости встраивания видео, но Теперь ранее работавший метод наложения видеообъекта на полупрозрачный div больше не действителен, теперь я не могу добавить <param name="wmode" value="transparent">
к объекту, потому что теперь это iFrame, так как мне добавить непрозрачный div поверх встроенное видео iframe?
Ответы:
Информация с официального сайта Adobe об этой проблеме
Проблема в том, что вы вставляете ссылку на YouTube:
в iFrame wmode по умолчанию является оконным, что по существу дает ему z-index больше, чем все остальное, и он будет перекрывать все.
Попробуйте добавить этот параметр GET к своему URL:
wmode = непрозрачный
вот так:
Убедитесь, что это первый параметр в URL-адресе. Остальные параметры должны идти после
В теге iframe:
Пример:
источник
Обратите внимание, что исправление wmode = transparent работает, только если оно сначала
Не
источник
Хм ... что на этот раз изменилось? http://jsfiddle.net/fdsaP/2/Отрисовывает в Chrome нормально. Нужен ли вам кроссбраузерность? Это действительно помогает быть конкретным.РЕДАКТИРОВАТЬ : Youtube отображает
object
иembed
без явного набора wmode, что означает, что по умолчанию используется «окно», что означает, что он перекрывает все . Вам необходимо:a) Разместите страницу, содержащую код объекта / встраивания, и добавьте элемент параметра wmode = "transparent" в объект и атрибут для встраивания, если вы решите обслуживать оба элемента.
б) Найдите способ указать их на YouTube.
источник
Я целый день возился с CSS, прежде чем нашел подсказку anataliocs. Добавьте
wmode=transparent
в качестве параметра URL-адрес YouTube:Это позволяет iframe наследовать z-index своего контейнера, чтобы ваш непрозрачный
<div>
объект находился перед iframe.источник
Непрозрачное покрытие для эстетических целей?
Если да, вы можете использовать:
'pointer-events: none' изменит поведение наложения, чтобы оно стало физически непрозрачным. Конечно, это будет работать только в хороших браузерах.
источник