帮我写一个html网站弹窗视频播发器,要那种渐显的那种,把css写在html里面.弹窗视频播放器要兼容移动PC端
时间: 2024-03-03 11:52:06 浏览: 149
好的,以下是一个基本的弹窗视频播放器的HTML和CSS代码,可以在移动PC端兼容:
```html
<!DOCTYPE html>
<html>
<head>
<title>弹窗视频播放器</title>
<style>
.overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.7);
z-index: 9999;
}
.video-wrapper {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 10000;
}
.video-wrapper video {
display: block;
width: 80%;
height: auto;
margin: 0 auto;
background-color: #fff;
box-shadow: 0 0 10px rgba(0,0,0,0.5);
border-radius: 10px;
}
.close-btn {
position: absolute;
top: -10px;
right: -10px;
width: 20px;
height: 20px;
line-height: 20px;
text-align: center;
background-color: #fff;
border-radius: 50%;
box-shadow: 0 0 10px rgba(0,0,0,0.5);
cursor: pointer;
}
</style>
</head>
<body>
<button onclick="showVideo()">播放视频</button>
<div class="overlay" onclick="hideVideo()"></div>
<div class="video-wrapper">
<div class="close-btn" onclick="hideVideo()">x</div>
<video src="your-video.mp4" controls></video>
</div>
<script>
function showVideo() {
document.querySelector('.overlay').style.display = 'block';
document.querySelector('.video-wrapper').style.display = 'block';
setTimeout(function() {
document.querySelector('.overlay').style.opacity = '1';
document.querySelector('.video-wrapper').style.opacity = '1';
}, 10);
}
function hideVideo() {
document.querySelector('.overlay').style.opacity = '0';
document.querySelector('.video-wrapper').style.opacity = '0';
setTimeout(function() {
document.querySelector('.overlay').style.display = 'none';
document.querySelector('.video-wrapper').style.display = 'none';
}, 500);
}
</script>
</body>
</html>
```
解释一下上述代码:
- 首先定义了一个黑色半透明遮罩层 `.overlay` 和一个视频播放器 `.video-wrapper`,它们都被设置成了 `display: none;`,表示一开始不显示。
- 视频播放器里面放了一个 `video` 标签,用于播放视频。同时还加了一个关闭按钮 `.close-btn`。
- 点击播放视频按钮时,调用 `showVideo()` 函数,将遮罩层和视频播放器都显示出来。为了实现渐显效果,使用了 `setTimeout()` 延时函数,将 `opacity` 属性从 0 渐变到 1。
- 点击遮罩层或关闭按钮时,调用 `hideVideo()` 函数,将遮罩层和视频播放器都隐藏起来。同样使用了 `setTimeout()` 和 `opacity` 属性实现渐隐效果。
至于兼容性问题,这个播放器应该可以在大部分移动PC端浏览器上正常工作,但是具体效果还需要根据不同设备和浏览器进行测试和调整。
阅读全文