方法一:controlslist属性

controlslist="nodownload nofullscreen noremoteplayback"

controlslist仅三种属性值,取值如下,无序,空格隔开,可单独配置
nodownload:取消更多控件弹窗的下载功能;
nofullscreen:取消全屏功能;
noremoteplayback:取消远程播放视频功能

<video controls controlslist="nodownload nofullscreen noremoteplayback"><video/>

方法二:Shadow DOM

shadow DOM就是浏览器创建的DOM子树。简单来说,它是一系列的DOM元素,跟熟悉的div span一样,只不过shadow DOM是浏览器添加的文档片段(document fragment)并且能够像DOM树一样在页面中得到渲染

video标签在浏览器中渲染之后,F12查看页面元素,你会发现播放控件(进度条,播放时长,全屏按钮等等)其实是由一个个html标签渲染出来的

那么我们来看一下查看控件元素的方式,如果直接F12去查看的话,你只能看到video标签,看不到浏览器渲染出来的控件标签,如下图

此时我们需要在浏览器设置中打开 Show user agent shadow DOM,操作方法以chrome为例

设置完成后再去elements中查看你的video标签,你会发现video标签中多了一些子标签,如下图

这些标签和伪元素就是video中的所有控件元素

伪元素为::-webkit-media-controls,通过名字我们就已经知道这是和视频控制栏相关联的标签。然后我们可以通过设置display:none !important覆盖样式来将它隐藏就是这么简单;

以下是我在平时需求中经常有用到的,可供参考

    // 播放按钮
video::-webkit-media-controls-play-button {
display: none !important;
}
// 当前播放时间
video::-webkit-media-controls-current-time-display {
display: none !important;
}
// 剩余时间
video::-webkit-media-controls-time-remaining-display {
display: none !important;
}
// 音量按钮
video::-webkit-media-controls-volume-control-container {
display: none !important;
}
// 全屏
video::-webkit-media-controls-fullscreen-button {
display: none !important;
}
// 时间轴
video::-webkit-media-controls-timeline {
display: none !important;
}
// 更多选项
video::-internal-media-controls-overflow-button {
display: none !important;
}

可以根据实际业务需求做对应处理,如有错误或不足之处,望指出。

video视频标签自定义显示隐藏播放控件&Shadow DOM的更多相关文章

  1. HTML5添加 video 视频标签后仍然无法播放的解决方法 IIS添加MIEI类型

    现象:插入如下代码后仍然无法看视频(注:视频已确认为浏览器支持格式) <video controls="controls" width="500px" h ...

  2. html5--移动端视频video的android兼容,去除播放控件、全屏等

    html5 中的video 在手机浏览器中的总结所有页面播放时, 如果选择全屏播放, 播放画面将浮动到屏幕的最上层 IOS 手机   自动播放 播放界面浮动文字 播放时是否自动全屏 能否嵌入在页面中播 ...

  3. jquery和css自定义video播放控件

    下面介绍一下通过jquery和css自定义video播放控件. Html5 Video是现在html5最流行的功能之一,得到了大多数最新版本的浏览器支持.包括IE9,也是如此.不同的浏览器提供了不同的 ...

  4. jQ效果:jQuery和css自定义video播放控件

    下面介绍一下通过jquery和css自定义video播放控件. Html5 Video是现在html5最流行的功能之一,得到了大多数最新版本的浏览器支持.包括IE9,也是如此.不同的浏览器提供了不同的 ...

  5. video视频标签一些设置,包括封面、播放结束后的封面、视频占满屏幕的方式、视频播放暂停、展示控制栏、触发全屏播放事件

    video视频标签一些设置,包括封面.播放结束后的封面.视频占满屏幕的方式.视频链接.视频播放暂停.展示控制栏.触发全屏播放事件 <video id="video" auto ...

  6. HTML video 视频标签全属性详解

    HTML 5 video 视频标签全属性详解   现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.C ...

  7. android - 自定义(组合)控件 + 自定义控件外观

    转载:http://www.cnblogs.com/bill-joy/archive/2012/04/26/2471831.html android - 自定义(组合)控件 + 自定义控件外观   A ...

  8. C#在截屏时将截屏之前需要隐藏的控件也截入

    最近我在项目中遇到一个让我十分头疼的问题,就是我在截屏时也将截屏之前隐藏的控件也截入了. 情况:我在Winform窗体有个截屏功能按钮,实现在调用WPF全屏后截屏,但在截屏WPF界面前将界面里的一个L ...

  9. WPF自定义LED风格数字显示控件

    原文:WPF自定义LED风格数字显示控件 版权声明:本文为博主原创文章,转载请注明作者和出处 https://blog.csdn.net/ZZZWWWPPP11199988899/article/de ...

随机推荐

  1. 一个DDOS病毒的分析(二)

    一.基本信息 样本名称:hra33.dll或者lpk.dll 样本大小: 66560 字节 文件类型:Win32的dll文件 病毒名称:Dropped:Generic.ServStart.A3D47B ...

  2. CVE-2010-2553:Microsoft Cinepak Codec CVDecompress 函数堆溢出漏洞调试分析

    0x01 前言 微软提供一个叫 Cinepak 的视频解码器,通过调用 iccvid.dll 这个动态链接库文件可以使用这个解码器:微软自带的 Windows Media Player(视频音频软件) ...

  3. 【python】Leetcode每日一题-删除有序数组中的重复项

    [python]Leetcode每日一题-删除有序数组中的重复项 [题目描述] 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现一次 ,返回删除后数组的新长度. 不要 ...

  4. seccomp沙盒逃逸基础——沙盒的规则编写

    seccomp沙盒逃逸基础--沙盒的规则编写 引入: 安全计算模式 seccomp(Secure Computing Mode)是自 Linux 2.6.10 之后引入到 kernel 的特性.一切都 ...

  5. 【dependencyManagement版本管理】dependencies.dependency.version is missing

    maven 的gav的v(版本问题) 报错dependencies.dependency.version is missing 出现的场景 一个项目中有多个模块 父模块中出现dependencies. ...

  6. RxJava线程控制

    RxJava中的线程转换主要通过下面两个方法: 1.subscribeOn 2.observeOn 一.subscribeOn 1.调用一次subscribeOn时: Observable obser ...

  7. jpa模糊查询(表中的某些数据)

    业务代码 Controller @GetMapping({"/task/project"}) public ResponseEntity findByProjectTitle(@R ...

  8. 算法学习笔记1语法 (C++组)持续更新

    关于 #include <cstdio> 包含printf();和scanf(); c++中printf.scanf比cout.cin效率高很多 算法题里cin.cout可能超时,虽然可以 ...

  9. 关于Aborted connection告警日志的分析

    前言: 有时候,连接MySQL的会话经常会异常退出,错误日志里会看到"Got an error reading communication packets"类型的告警.本篇文章我们 ...

  10. Django 请求和响应 request return

    request.method 请求方法 request.get  get请求信息 request.post  post请求信息 request.path 请求路径 方法: requset.get_fu ...