【转】如何修改 video 样式

摘要:
当我们在这里说“修改视频样式”时,我们不想自己实现一组控件,而是尝试修改视频的默认样式以隐藏全屏按钮。很容易找到视频::-webkit媒体控件全屏按钮{display:none;}那么,什么是video::-webkit媒体控件?它还可以用于定义哪些元素的样式。有关自定义样式,请参见以下部分。为什么视频标签可以播放视频?如何在内部实施?从现在开始,下载按钮是否感觉视频处于受控状态?有两种方法:1.controlsList将属性controlsList=“nodownload”添加到视频中以隐藏下载按钮。

我们这里说的“修改 video 样式”并不是要自己实现一套 controls,而是尝试修改 video 的默认样式

隐藏全屏按钮

这个很容易查到

video::-webkit-media-controls-fullscreen-button{ display: none; }

那么,video::-webkit-media-controls 是什么?还可以用它来定义哪些元素的样式,见下文

自定义其它样式

为什么用一个 video 标签就可以播放视频呢,它内部是怎么实现的呢?

我们来看一下 video 的内部构造:

chrome 下,开发者工具 -> setting -> Preferences -> Elements -> 勾选 "Show user agent shadow DOM"

【转】如何修改 video 样式第1张

再回来看,已经可以看到 video 的内部结构了

【转】如何修改 video 样式第2张

瞄一眼,有没有看到很熟悉的 -webkit-media-controls-fullscreen-button ?

确实如此,其他的按钮,包括播放按钮、播放进度条、静音按钮、音量条等,都可以像全屏按钮一样自定义样式。不止是隐藏噢,其他的样式同样适用,比如。。

【转】如何修改 video 样式第3张

下载按钮

是不是感觉从此 video 尽在掌控,想让它啥样就啥样了?大部分情况下,确实如此。

然而,还有个不听讲的妖孽,就是下载按钮。尝试用 video::-internal-media-controls-download-button 定义隐藏,并不生效

怎么办?有两种方式:

1. controlsList

在 video 上加属性 controlsList="nodownload",就可以隐藏下载按钮。

就这么简单?当然不是。。。这种方式需要 Chrome 58+ 才支持,不能用于生产环境

2. overflow: hidden

video::-webkit-media-controls-enclosure{ overflow: hidden; }

video::-webkit-media-controls-panel{ calc(100% + 30px); }

就是将控制条面板设的长一些,超出的隐藏。。。这种方式还是勉强可以用于生产环境的,因为没有别的更好的办法。。。

参考

1. https://googlechrome.github.io/samples/media/controlslist.html HTMLMediaElement controlsList Sample

2. http://www.cnblogs.com/coco1s/p/5711795.html 神秘的 shadow-dom 浅析

3. http://www.cnblogs.com/kevinxue/p/6638733.html h5的video下载按钮如何隐藏

移动端环境险恶,上线前警惕自测!

from:https://baijiahao.baidu.com/s?id=1577249646248377416&wfr=spider&for=pc

免责声明:文章转载自《【转】如何修改 video 样式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[Python之路] 实现简易HTTP服务器与MINI WEB框架(利用WSGI实现服务器与框架解耦)ER图转关系模式, 强制参与和选择参与下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

全球最大的3D数据集公开了!标记好的10800张全景图

Middlebury数据集 http://vision.middlebury.edu/stereo/data/ KITTI数据集简介与使用https://blog.csdn.net/solomon1558/article/details/70173223 http://www.dataguru.cn/article-12197-1.html 摘要: 一路走...

解决IE中部分文件格式不能下载的问题(附MIME大全)

     昨天有同事突然反映说自己上传了一个文档下载不了,急忙上系统查看。发现是.xlsx文档,原来是office2007创建的文档。仔细查看了一下文件确实存在,但是查看的时候浏览器弹出提示:http 404错误。说不存在此文件路径。但是其他的文件比如xls,doc文件都是可以的。更奇怪的是在另外一台服务器上是不存在该问题的。      今天来到公司又想起...

小程序-video/视频播放---part1:属性及部分函数

微信小程序视频播放和h5的video标签相同, 格式为:<video></video>. 其相关属性及其图文信息解析如下: 按钮相关: controls  显示默认播放控件(播放/暂停按钮、播放进度、时间)  autoplay  自动播放  如果加上这个属性,包括弹幕在内的信息自动也自动显示 弹幕相关: danmu-btn  显示控...

营销号视频生成器(Python)

网上最近很火的段子是各种营销号的文案,比方说下面的段子 核桃核不能吞下去是怎么回事呢?核桃核相信大家都很熟悉,但是核桃核不能吞下去是怎么回事呢,下面就让小编带大家一起了解吧。核桃核不能吞下去,其实就是核桃核太大了,吞下去容易噎着,大家可能会很惊讶核桃核怎么会不能吞下去呢?但事实就是这样,小编也感到非常惊讶。这就是关于核桃核不能吞下去的事情了,大家有什么想法...

【转】FFmpeg采集设备

ffmpeg在linux下支持的采集设备的种类比较多。 在操作设备之前,我们可以查看当前系统可以支持的操作设备: ffmpeg -hide_banner -devices Devices: D. = Demuxing supported //输入的设备 .E = Muxing supported //输出的设备 -- DE alsa ALSA audio...

PC浏览器播放m3u8

 HLS(HTTP Live Streaming)是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的基于HTTP协议的流媒体解决方案。在 HLS 技术中 Web 服务器向客户端提供接近实时的音视频流。但在使用的过程中是使用的标准的 HTTP 协议,所以这时,只要使用 HLS 的技术,就能在普通的 HTTP 的应用上直接提供点播和...