特里斯坦洗衣机

这是来自 Paul Rouget 的另一个演示。它非常简单地展示了将视频、SVG 和一些有趣的转换结合起来可以实现的功能。

在 Firefox 3.5 中查看演示
tristan

这将一个基于 HTML5 的 <video> 元素放入 SVG 文档中,如下所示


  
    
  

为了清晰起见,删除了许多代码和属性。请查看源代码以获取更多详细信息。

如果您查看其余的源代码,您还会发现播放器的其余部分也在 SVG 中定义和控制。我们还在使用一些 Firefox 3.5 中的 CSS 和 SVG 功能 来定义播放器。例如,如果您查看 CSS,您将看到

#video {
    filter: url(#filter);
    clip-path: url(#circle);
}

<a href="https://mdn.org.cn/En/Applying_SVG_effects_to_HTML_content#Example.3a.c2.a0Clipping">clip-path</a> 属性允许您为任何元素(html、svg 或其他)定义剪辑路径。这可能非常强大,并且可以是 SVG 中定义的任何任意路径。就像饼干切割器一样,它剪掉原本是方形视频的中心,并将其用于显示。以下是我们的剪辑路径的样子


   

<a href="https://mdn.org.cn/En/Applying_SVG_effects_to_HTML_content#Example.3a.c2.a0Filtering">filter</a> 属性允许您定义 SVG 滤镜,其使用方法与剪辑路径相同。在我们的例子中,我们使用 feColorMatrix


  

虽然在此演示中未使用,但请注意,您也可以使用 SVG 为 Firefox 3.5 中的任何元素定义渐变蒙版

视频运行时,它使用 转换 属性在播放时旋转视频

function rotateMePlease() {
    // Sure
    if (!video) return;
    video.style.MozTransform='rotate(' + i + 'deg)';
    i += 3;
}

您会注意到 Paul 将其构建到 XHTML 文档中,仔细使用命名空间和 XML 语法。但是大多数人可能希望在普通的 HTML 中使用 SVG。在 Firefox 3.5 中,可以使用 SVG 外部文档引用 来实现这一点。这意味着,您可以将 SVG 定义在其自己的文件中,而不是直接在 HTML 文件中定义它,并通过 CSS 引用它,如下所示

.target { clip-path: url(resources.svg#c1); }

这将从 resources.svg 文件加载 SVG,然后使用 ID 为“c1”的对象作为目标的剪辑路径。这是一种非常简单的方法,可以在不完全切换到 XHTML 的情况下将 SVG 添加到您的文档中。

我希望这能让你对混合使用 SVG、HTML、视频和 CSS 的可能性有所了解。尽情享受吧!

关于 Christopher Blizzard

一次发布,让网络更美好。

更多 Christopher Blizzard 的文章…


20 条评论

  1. Thomas Broyer

    让我想起了微软展示 XAML/WPF 功能的演示 ;-)

    2009 年 6 月 18 日 01:17

  2. Ken Saunders

    哇,这太酷了(而且很有趣)。
    很棒的演示。

    2009 年 6 月 18 日 02:18

  3. Quezako

    特里斯坦洗涤多少度?;)

    2009 年 6 月 18 日 03:15

  4. Jason Orendorff

    这很酷,但如果特里斯坦吹泡泡会更酷。

    2009 年 6 月 18 日 13:25

  5. […] 原文地址:the tristan washing machine 系列地址:颠覆网络35天 […]

    2009 年 6 月 18 日 22:20

  6. N

    我太喜欢视频控件随着视频旋转了 :-)

    2009 年 6 月 24 日 02:08

  7. […] 在后台打开视频,使用矢量图像(SVG,而不是一些像素化的 jpeg/png/gif)进行 CSS 蒙版(是的,真正的蒙版),使用 javascript 将视频帧旋转(不是摄像机在旋转)。https://hacks.mozilla.ac.cn/2009/06/tristan-washing-machine/ […]

    2009 年 6 月 26 日 00:44

  8. belarmino

    espero la copia ya que poseo el 3.0

    2009 年 7 月 2 日 19:55

  9. […] 您可以在 Firefox 3.5 中查看几个示例:https://hacks.mozilla.ac.cn/2009/06/tristan-washing-machinehttp://people.mozilla.com/~prouget/demos/DynamicContentInjection/play.xhtml。令人难以置信的是 […]

    2009 年 7 月 2 日 21:44

  10. […] 您可以在 Firefox 3.5 中查看几个示例:https://hacks.mozilla.ac.cn/2009/06/tristan-washing-machinehttp://people.mozilla.com/~prouget/demos/DynamicContentInjection/play.xhtml。令人难以置信的是 […]

    2009 年 7 月 3 日 11:46

  11. […] 您可以在 Firefox 3.5 中查看几个示例:https://hacks.mozilla.ac.cn/2009/06/tri…ashing-machinehttp://people.mozilla.com/~prouget/d…ion/play.xhtml。令人难以置信的是我们可以 […]

    2009 年 7 月 3 日 18:00

  12. […] 您可以在 Firefox 3.5 中查看几个示例:https://hacks.mozilla.ac.cn/2009/06/tri…ashing-machinehttp://people.mozilla.com/~prouget/d…ion/play.xhtml。令人难以置信的是我们可以 […]

    2009 年 7 月 4 日 00:21

  13. […] https://hacks.mozilla.ac.cn/2009/06/tristan-washing-machine […]

    2009 年 7 月 4 日 04:06

  14. […] 您可以在 Firefox 3.5 中查看几个示例:https://hacks.mozilla.ac.cn/2009/06/tristan-washing-machinehttp://people.mozilla.com/~prouget/demos/DynamicContentInjection/play.xhtml。令人难以置信的是 […]

    2009 年 7 月 6 日 15:26

  15. […] 使用 CSS 和 SVG 等 Web 技术。您可以在 Firefox 3.5 中查看几个示例:https://hacks.mozilla.ac.cn/2009/06/tristan-washing-machinehttp://people.mozilla.com/~prouget/demos/DynamicContentInjection/play.xh….令人难以置信的是 […]

    2009 年 7 月 7 日 06:00

  16. […] 一些新的时尚的 CSS 功能,您可以做一些非常棒的事情。看看臭名昭著的洗衣机演示,在演示中,我让一位尊敬的同事旋转起来。它使用了一些 CSS […]

    2009 年 7 月 7 日 20:05

  17. yareli

    ola is yo español is a liceo hipainme name is yareli tem 9 años

    2009 年 11 月 16 日 10:06

  18. […] 19. 特里斯坦洗衣机 […]

    2011 年 1 月 25 日 22:09

  19. […] 19. 特里斯坦洗衣机 […]

    2011 年 7 月 28 日 19:08

  20. […] 19. 特里斯坦洗衣机 […]

    2012 年 3 月 28 日 23:53

本文评论已关闭。