我正在尝试为实时HTML5视频创建一个圆形框架(或画布)。我能够使用关键帧半径属性来弯曲角落,但这会留下一个椭圆形而不是圆形。
理想情况下,我可以使用div对象(png图像)作为视频的掩码。话虽这么说,div对象只是一个圆圈,所以我很乐意用圆圈来掩盖视频。
这是我目前的代码:
<style>
video, canvas {
z-index: 1;
position: absolute;
top: 10%;
left: 25%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
-ms-border-radius: 50%;
border-radius: 50%;
overflow: hidden;
}
</style>
<video id="video" width="600" height="450" preload autoplay loop muted controls></video>
<canvas id="canvas" width="600" height="600"></canvas>
最好为视频获取一个圆形遮罩,而不是更改方面无线电,以便视频被压扁。谢谢!
答案 0 :(得分:0)
分别设置包含div和视频元素的样式。添加-webkit-mask-image 到包含div。
-webkit-mask-image CSS属性设置元素的蒙版图像。掩模图像根据掩模图像的透明度剪切元素的可见部分。
<强> CSS 强>
.canvas {
width: 600px;
height: 600px;
border-radius: 300px;
-webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);
}
video {
width: 600px;
height: 600px;
position: absolute;
top: -125px;
left: -125px;
}
<强> HTML 强>
<div class="canvas">
<video id="video" preload autoplay loop muted controls></video>
</div>
看看它是否有效:)