首先,你不能使用<img>
这种方式,因为它是一个不能包含其他元素的元素。
您所要做的就是将您的图像作为背景div
,然后以正确的位置显示视频:
<div id="tv_container">
<video width="320" height="240">
<source src="video/video.mp4" type="video/mp4" />
</video>
</div>
<style>
#tv_container {
background: url('images/tv.png') no-repeat top left transparent;
width: 400px; /* Adjust TV image width */
height: 300px; /* Adjust TV image height */
position: relative;
}
#tv_container video {
position: absolute;
top: 30px; /* Adjust top position */
left: 40px; /* Adjust left position */
}
</style>
或者代替position: relative;
andposition: absolute;
你可以使用margin: 30px 0px 0px 40px;
for #tv_container video
(但是position
当你想在#tv_container
.
我假设电视图像大于video
,但您必须调整一些东西才能正确显示它。
受 Guilherme J Santos 回答的启发,我建议您使用电视图像作为图层video
,因为这样您可以使用电视屏幕的图像,而不必是严格的矩形。当然,部分视频将被裁剪,但它看起来像电视屏幕。
<div id="tv_container">
<video width="320" height="240">
<source src="video/video.mp4" type="video/mp4" />
</video>
</div>
<style>
#tv_container {
width: 400px; /* Adjust TV image width */
height: 300px; /* Adjust TV image height */
position: relative;
}
#tv_container:after {
content: '';
display: block;
background: url('images/tv.png') no-repeat top left transparent;
width: 100%;
height: 100%;
left: 0px;
top: 0px;
position: absolute;
z-index: 10;
}
#tv_container video {
position: absolute;
top: 30px; /* Adjust top position */
left: 40px; /* Adjust left position */
z-index: 5;
}
</style>
确保z-index
层(在这种情况下是#tv_container:after
伪元素)大于video
's z-index
。还有一件事:您video
将无法点击(因为它在图层下方)根据@brichins 的评论,还可以在图层下方制作可点击视频(谢谢!)。
当然电视的屏幕部分必须是透明的!