【问题标题】:How to display HTML5 Video Tag in Circle shape?如何以圆形显示 HTML5 视频标签?
【发布时间】:2014-08-06 15:22:40
【问题描述】:

我在 css "border-radius:100%;" 中试过这个,但它没有给出 100% 的圆。

以下是css和html

HTML

<div class="web-cam">

<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
</video>

</div>

CSS

.web-cam video {
  width: 250px;
  height: 250px;
  border-radius: 100%;
  position: absolute;
  top: 0px;
  z-index: 5;
}

【问题讨论】:

  • 请提供更多 HTML 和 CSS 上下文。
  • 对我来说很好。什么不工作?

标签: css video html5-video shape css-shapes


【解决方案1】:

分别设置包含 div 和 video 元素的样式。将 -webkit-mask-image 添加到包含的 div 中。

-webkit-mask-image CSS 属性设置元素的遮罩图像。蒙版图像根据蒙版图像的透明度裁剪元素的可见部分。

下面的代码创建了一个任意的圆形径向渐变以用作蒙版,但您也可以使用url() 为剪贴蒙版指定在线圆形PNG 图像(如Mozilla's doc 所示)。

HTML:

<div class="web-cam">
  <video controls>
    <source src="movie.mp4" type="video/mp4">
    <source src="movie.ogg" type="video/ogg">
  </video>
</div>

CSS:

.web-cam { 
  width: 250px;
  height: 250px;
  border-radius: 125px;
  -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);
}

video {
  width: 500px;
  height: 500px;
  position: absolute;
  top: -125px;
  left: -125px;
}

很遗憾,您将失去默认控制器,但有很多方法可以构建您自己的自定义控制器:

http://blog.teamtreehouse.com/building-custom-controls-for-html5-videos

http://dev.opera.com/articles/custom-html5-video-player-with-css3-and-jquery/#sec1

http://www.adobe.com/devnet/html5/articles/html5-multimedia-pt3.html

【讨论】:

  • 为什么你的border-radiusheight/width 的两倍?您应该只需要一半 (125px) 而不是双倍。
  • @ajp15243,因为我很快就在玩不同的整体设置,我忘了缩小尺寸。我在上面编辑了我的答案;感谢您的提示。
  • 我放入了一些实际的示例视频,对于overflow: hidden,视频容器似乎忽略了border-radius,至少对于我在Linux 上的Chrome 36 中:jsbin.com/canicaco/2/edit(你可以通过右键单击来播放视频,这为您提供了一些基本控制)
  • @ajp15243,感谢您提供额外信息,并表明 overflow 不适用于实际视频。我发现了另一个可能有帮助的 CSS 规则(参见上面的编辑)。
  • 现在为我工作!可惜它是 WebKit 属性。我想知道是否有等效的 Mozilla/Opera/IE。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-15
  • 2014-07-02
  • 2011-07-06
  • 2017-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多