【转】如何修改 video 样式
我们这里说的“修改 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 的内部结构了
瞄一眼,有没有看到很熟悉的 -webkit-media-controls-fullscreen-button ?
确实如此,其他的按钮,包括播放按钮、播放进度条、静音按钮、音量条等,都可以像全屏按钮一样自定义样式。不止是隐藏噢,其他的样式同样适用,比如。。
下载按钮
是不是感觉从此 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{ width: 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 样式的更多相关文章
- 修改video样式代码
/*video::-webkit-media-controls-fullscreen-button {display: none; //更改是否显示全屏按钮}*//*video::-webkit-me ...
- MFC学习 修改窗口样式
1. 在PreCreateWindow中可用CREATESTRUCT cs, cs.lpszName修改窗口标题, cs.lpszClass = AfxRegisterWndClass 修改图标与样式 ...
- JS笔记一:动态修改css样式
---恢复内容开始--- 最近在学习CSS/JS的样式,两个合学习一起学习,加深JS的书写和了解. 一.通过Javasript修改图片大小 通过函数来传递图片id,height,width,使用doc ...
- ASP.NET中直接用C# 动态修改CSS样式
ASP.NET中直接用C# 动态修改CSS样式 wonsoft (wonsoft@163.com) 使用JavaScript控制CSS样式有点麻烦,还是觉得直接使用C#操作更方便快捷,本文通过两个B ...
- js介绍,js三种引入方式,js选择器,js四种调试方式,js操作页面文档DOM(修改文本,修改css样式,修改属性)
js介绍 js运行编写在浏览器上的脚本语言(外挂,具有逻辑性) 脚本语言:运行在浏览器上的独立的代码块(具有逻辑性) 操作BOM 浏览器对象盒子 操作DOM 文本对象 js三种引入方式 (1)行间式: ...
- vue-cli —— 局部修改Element样式
最近在做vue项目时用到了Element,发现这玩意儿用起来很舒服,很新颖,上手也很快,而且效果足够酷炫.但是后面发现一个很大的问题,那就是Element的样式有限,这极大地限制了项目的应用广度,所以 ...
- vue修改框架样式/deep/
/deep/ 父元素的样式名 /deep/ 要修改的样式名 使用 ... 貌似不行
- Android spinner默认样式不支持换行和修改字体样式的解决方法
在spinner中显示的数据过多,需要换行,而Android自身提供的android.R.layout.simple_spinner_dropdown_item样式不支持换行,因此参考android提 ...
- 修改placeholder样式
/* 修改placeholder样式,兼容性 新版火狐,IE10+ */ .login-input::-webkit-input-placeholder { color: #000; font-siz ...
随机推荐
- mysql date_add()函数的使用
date_add(date,interval expr type) 类型(type) expr参数格式 说明 MICROSECOND 数值类型 以微妙为计算单位 SECOND 数值类型 以秒为计 ...
- #WEB安全基础 : HTML/CSS | 0x4HTML模块化
想让你的网页变得整洁吗?找我就对了,当然你会认识几个新元素,和它们交朋友吧! 我帮你联系一下这几个新元素,这样交朋友就变得简单了 images里放着图片 以下是index.html的代码 < ...
- Spring之AOP在XML中的配置方法
AOP 即 Aspect Oriental Program 面向切面编程 先来一个栗子: <aop:config> <aop:pointcut id="loggerCutp ...
- 去除bootstrap默认的input和选中时的样式
input默认样式除border外, 还有一个阴影效果box-shadow:选中时同样有阴影效果. input,input:focus{ border: none !important; box-sh ...
- JavaScript面向对象编程指南(四) 对象
第4章 对象 4.1 从数组到对象 对象的组成:变量名.{}.用逗号分割的属性.用冒号分割的键/值对. var f={ name:'alen', // 可以在属性名上加引号 age:12 }; 对象文 ...
- Python 对服务器返回数据编码进行判断之chardet
对服务器返回数据编码进行判断之chardet by:授客 QQ:1033553122 测试环境 Win764Bit chardet-2.3.0 下载地址1:https://pypi.pytho ...
- 章节四、4-For循环
一.For循环格式 package introduction5; public class ForLoopDemo { public static void main(String[] args) { ...
- 章节三、5-Getters-Setters和this关键字part01
我们新建第一个Car类: package introduction; public class Car { //颜色 private String color; //生成商 private Strin ...
- (后台)SQL Server 数据库定时自动备份(转)
转自博客园: SQL Server 数据库定时自动备份[转] 在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以 ...
- 2018-05-11-机器学习环境安装-I7-GTX960M-UBUNTU1804-CUDA90-CUDNN712-TF180-KERAS-GYM-ATARI-BOX2D
layout: post title: 2018-05-11-机器学习环境安装-I7-GTX960M-UBUNTU1804-CUDA90-CUDNN712-TF180-KERAS-GYM-ATARI- ...