使用CSS实现弹性视频html5案例实践


Posted in HTML / CSS onDecember 26, 2012

当我编码Elemin Theme(我最近设计的一个响应式的站点)的时候,我遇到的一个跳帧就是,如何能让嵌入式的视频在尺寸变化上变得更加灵活。使用max-width:100% 和height:auto可以让html5的video标签很好的工作,但是这个解决方案不适用于iframe 或者 object标签的内嵌代码。通过几小时的寻找资料和实验,我最终找到了解决办法。当你在进行响应式设计的时候,这一css技巧能派上用场。

灵活的html5 video标签
使用html5的video,可以通过设置max-width:100%让他变得灵活。前面的介绍中,已经提到他不适用于常用的iframe和object中的内嵌代码。

复制代码
代码如下:

video {
max-width: 100%;
height: auto;
}

灵活的Object & Iframe 内嵌视频
这个技巧相当简单,你需要为video添加一个<div>容器,并且将div的padding-bottom属性值设置在50%到60%之间。然后设置子元素(ifame或者object)的width和height为100%,并且使用绝对定位。这样会迫使内嵌对象自动扩充到最大。
CSS
复制代码
代码如下:

.video-container {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.video-container iframe,
.video-container object,
.video-container embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

HTML
复制代码
代码如下:

<div class="video-container">
<iframe src="http://player.vimeo.com/video/6284199?title=0&byline=0&portrait=0" width="800" height="450" frameborder="0"></iframe>
</div>

在固定宽度下实现灵活性
如果限制了视频的宽度,那么我们需要一个额外的<div>容器包裹video,并为div设置固定宽度和max-width:100%。
CSS
复制代码
代码如下:

.video-wrapper {
width: 600px;
max-width: 100%;
}

HTML
复制代码
代码如下:

<div class="video-wrapper">
<div class="video-container">
<iframe src="http://player.vimeo.com/video/6284199?title=0&byline=0&portrait=0" width="800" height="450" frameborder="0"></iframe>
</div>
<!-- /video -->
</div>
<!-- /video-wrapper -->

兼容性
这个技巧支持所有的浏览器,包括:Chrome, Safari, Firefox, Internet Explorer, Opera, iPhone 和 iPad。
HTML / CSS 相关文章推荐
CSS3 圆角效果
Jul 15 HTML / CSS
纯CSS3打造动感漂亮时尚的扇形菜单
Mar 18 HTML / CSS
CSS3制作苹果风格键盘特效
Feb 26 HTML / CSS
使用CSS3制作饼状旋转载入效果的实例
Jun 23 HTML / CSS
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
Apr 26 HTML / CSS
css3实现元素环绕中心点布局的方法示例
Jan 15 HTML / CSS
详解rem 适配布局
Oct 31 HTML / CSS
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
Dec 25 HTML / CSS
html5基础标签(html5视频标签 html5新标签用法)
Dec 30 HTML / CSS
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
May 15 HTML / CSS
如何给HTML标签中的文本设置修饰线
Nov 18 HTML / CSS
通过canvas转换颜色为RGBA格式及性能问题的解决
Nov 22 HTML / CSS
HTML5中实现拖放效果无须借助javascript
Dec 26 #HTML / CSS
html5 application cache遇到的严重问题
Dec 26 #HTML / CSS
html5 web本地存储将取代我们的cookie
Dec 26 #HTML / CSS
html5之Canvas路径绘图、坐标变换应用实例
Dec 26 #HTML / CSS
html5声频audio和视频video等新特性详细说明
Dec 26 #HTML / CSS
html5-Canvas可以在web中绘制各种图形
Dec 26 #HTML / CSS
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
Dec 25 #HTML / CSS
You might like
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
PHP 字符串 小常识
2009/06/05 PHP
分享PHP header函数使用教程
2013/09/05 PHP
php读取csc文件并输出
2015/05/21 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
使用jquery给input和textarea设定ie中的focus
2008/05/29 Javascript
JS实现QQ图片一闪一闪的效果小例子
2013/07/31 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
Jquery插件仿百度搜索关键字自动匹配功能
2016/05/11 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
jQuery Masonry瀑布流布局神器使用详解
2017/05/25 jQuery
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
jQuery超简单遮罩层实现方法示例
2018/09/06 jQuery
vue移动端html5页面根据屏幕适配的四种解决方法
2018/10/19 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
django+mysql的使用示例
2018/11/23 Python
python实现根据文件关键字进行切分为多个文件的示例
2018/12/10 Python
python线程安全及多进程多线程实现方法详解
2019/09/27 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
大学生毕业自我鉴定范文
2013/09/19 职场文书
医学生自我鉴定范文
2013/11/08 职场文书
数学专业推荐信范文
2013/11/21 职场文书
动物科学专业毕业生的自我评价
2013/11/29 职场文书
世博会口号
2014/06/20 职场文书
贸易经济专业自荐书
2014/06/29 职场文书
竞选班干部演讲稿500字
2014/08/20 职场文书
群众路线剖析材料
2014/09/30 职场文书
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle
Windows和Linux上部署Golang并运行程序
2022/04/22 Servers