【问题标题】:CSS transform translate breaking Youtube Embedded VideoCSS 变换翻译破 Youtube 嵌入式视频
【发布时间】:2013-07-19 13:34:03
【问题描述】:

当我使用 transform: translate() 在 div 内或外使用 youtube iframe 时,它​​不允许我在 Firefox 中播放视频。适用于所有其他浏览器,甚至 IE8。这是我创建的小提琴http://jsfiddle.net/kE6vp/ 如果您注释掉转换属性,它可以正常工作,但是无法访问 youtube 按钮。再次仅在 Firefox 中。以前有人经历过吗?我正在使用 jquery isotope 插件,它使用 transform 属性放置内容。感谢您的帮助。

<div class="pong">
    <div class="ping">
        <iframe width="326" height="237" frameborder="0" allowfullscreen="1" src="https://www.youtube.com/embed/lEhu2cFvDe8?wmode=opaque?rel=0?autoplay=1&amp;"></iframe></div>
</div>

.pong{
    height: 237px;
    transform: translate(20px, 100px);
    width: 326px;
}

.ping{
    height: 237px;      
    position: absolute;
    width: 326px;       

    z-index: 40000;
}

【问题讨论】:

    标签: css video youtube


    【解决方案1】:

    这似乎是 Firefox 上的 Flash 的问题,如果你强制使用 YouTube 的 HTML5 播放器,那么问题就解决了。

    http://jsfiddle.net/8EMzc/

    您可以通过将 &amp;html5=1 附加到 YouTube 的嵌入 URL 来执行此操作。我想如果不支持 HTML5,它将回退到 Flash,但我不确定这一点。您还可以通过浏览器嗅探 HTML5 播放器并将其仅提供给 Firefox(不推荐,但您正在解决一个错误,因此没有直接的方法来解决此问题)。

    或者,您可以使用 transformsEnabled option 在 Isotope 中禁用 CSS 转换

    $('#container').isotope({
      transformsEnabled : false
    });
    

    【讨论】:

    • 感谢 Duopixel。不幸的是,这不是我希望的答案。 :-( 我正在使用 jquery.isotope 进行布局的项目。它使用 transform: translate() 进行布局。您可能对另一个可能对我有用但不使用它的插件有建议方法?再次感谢您的帮助。
    • 我不明白为什么这个解决方案不是一个好的选择(你所要做的就是使用 HTML5 播放器)。但是,您可以通过 transformsEnabled: false 选项告诉 Isotope 不要使用 CSS 转换(更新后)。
    • 双像素!我非常感谢所有的帮助。
    • 太棒了!这也解决了我在 Bootstrap 模式对话框中显示 YouTube 视频的问题,该对话框也使用 CSS 转换。
    • 我发现 html5 似乎解决了我的问题。我仍然很好奇同位素变换是什么以及它为什么起作用,介意解释一下吗? (我阅读了您的页面,但没有看到推理)
    猜你喜欢
    • 2015-10-25
    • 2013-06-27
    • 1970-01-01
    • 2015-02-16
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 2021-12-04
    相关资源
    最近更新 更多