Como posso sobrepor um div com opacidade semitransparente em um vídeo incorporado de iframe do youtube?
<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;
}
editar (mais esclarecimentos):
HTML5 está se aproximando de nós, com mais e mais dispositivos que o usam em vez de flash, o que complica a incorporação de vídeos do youtube, felizmente o youtube fornece um iFrame especial incorporável que lida com todos os problemas de compatibilidade de incorporação de vídeo, mas agora o método de trabalho anterior de sobrepor um objeto de vídeo com um div semitransparente não é mais válido, agora não posso adicionar um <param name="wmode" value="transparent">
ao objeto, porque agora é um iFrame, então como faço para adicionar um div opaco em cima de o vídeo incorporado do iframe?
Respostas:
Informações do site oficial da Adobe sobre este assunto
O problema é quando você incorpora um link do youtube:
em um iframe, o wmode padrão é em janela, o que essencialmente dá a ele um índice z maior do que todo o resto e se sobrepõe a qualquer coisa.
Tente anexar este parâmetro GET ao seu URL:
wmode = opaco
igual a:
Certifique-se de que seja o primeiro parâmetro no URL. Outros parâmetros devem seguir
Na tag iframe:
Exemplo:
fonte
Observe que a correção wmode = transparent só funciona se for primeiro
Não
fonte
Hmm ... o que há de diferente dessa vez? http://jsfiddle.net/fdsaP/2/Renderiza bem no Chrome. Você precisa de vários navegadores? Realmente ajuda ser específico.EDIT : Youtube renderiza o
object
eembed
sem conjunto explícito de wmode, o que significa que o padrão é "janela", o que significa que sobrepõe tudo . Você precisa:a) Hospede você mesmo a página que contém o código do objeto / incorporação e adicione o elemento param wmode = "transparent" ao objeto e o atributo a incorporar se você escolher servir os dois elementos
b) Encontre uma maneira de o youtube especificá-los.
fonte
Passei um dia mexendo com CSS antes de encontrar a dica do anataliocs. Adicione
wmode=transparent
como parâmetro ao URL do YouTube:Isso permite que o iframe herde o z-index de seu contêiner, de forma que o opaco
<div>
fique na frente do iframe.fonte
A sobreposição opaca é para fins estéticos?
Nesse caso, você pode usar:
'ponteiro-eventos: nenhum' mudará o comportamento da sobreposição para que possa ser fisicamente opaco. Claro, isso só funcionará em bons navegadores.
fonte