[转]响应式WEB设计学习(2)—视频能够做成响应式吗
原文地址:http://www.jb51.net/web/70361.html
上集回顾:
昨天讲了页面如何根据不同的设备尺寸做出响应。主要是利用了@media命令以及尺寸百分比化这两招。
上集补充:
其中,利用以下CSS设置让图片或视频大小不超过设备屏幕的宽度:
代码如下:
max-width:100%;
}
这一语句一般加在@media screen and (max-width:481)的判断内,主要是让手机用户在查看网页时图片不至于比手机屏幕还大。
这一招在《Head First Moblie Web》中被称为“Fluid Image Technique”。
视频能够做成响应式吗?
除了图片以外,还有一种常见的多媒体形式是视频。有时在web设计中,根据需要会在页面中加入视频,一般视频都是上传到youtube、土豆/优酷、新浪等网站上后,再用链接的形式加入到我们的网页中。
为什么在iphone上看不到youtube视频?(在境外)
在IOS上查看网页视频时,在不越狱安装插件的情况下,是没法看flash格式的视频的,因为iphone上的浏览器不支持Adobe
Flash,这跟苹果等公司的商业竞争政策有关,咱也没办法。对于这一问题,使用youtube视频源的web设计有一个解决方案,就是将原来嵌套在网页
中的object embed格式的代码段替换成新的代码段。
如,旧的页面嵌套代码段为:
代码如下:
width="230" height="179" type="application/x-shockwave-flash"
data="http://www.youtube.com/v/O-jOEAufDQ4?fs=1&h1=en_US&rel=0"><embed
src=... /></object>
将其替换为:
代码如下:
可以看到,两个视频的出路其实是不同的,youtube将用于移动设备显示的嵌入型视频放在embed目录下,这样大部分的移动设备就可以正常观看视频了。
国内的视频源可以用<iframe>这一招吗?
分别截取土豆和sina的各一段嵌入式视频代码可以看到用的都是object embed方式:
土豆:
代码如下:
src="....swf"
type="application/x-shockwave-flash"
allowscriptaccess="always"
allowfullscreen="true"
wmode="opaque"
width="480" height="400"></embed>
sina:
代码如下:
<param name='allowScriptAccess' value='always' />
<embed pluginspage='http://www.macromedia.com/go/getflashplayer'
src='....swf'
type='application/x-shockwave-flash'
allowScriptAccess='always'
allowFullScreen='true'
name='sinaplayer'
width='480' height='370'></embed>
</object></div>
两者的参数设置也差不多,不过土豆的代码要简洁很多。
现在,用<iframe>代码块将土豆视频地址包起来,放入测试页面中,会发生一个问题:
(这是图片哦……)
不能全屏了……这是因为单独截取了播放地址,而与flash有关的例如allowFullScreen等设置都被抛弃了。那么用iframe这个方法显然就有两个问题了:
一是片源格式没有改变,还是swf格式,仍然不能被不支持Adobe Flash的手机播放。
二是因为丢失了flash播放器的参数设置,而丧失了部分功能。
这样显然是不能接受的。
对于第一点,只能期待视频网站使用更通用的视频格式来规避各个硬件厂商之间商业竞争带来的副作用;对于第二点,我们将继续使用object
embed的方式,因为手机看不到flash格式的亲们已经找到了各种破解、插件来弥补了,所以web设计者在没有更通用片源格式的情况下,还是沿用之前
的方式好了。
但是,视频格式的大小一般是固定的,只使用CSS而不使用javascript很难动态的根据设备的大小或者浏览器当前的尺寸来动态改变。就视频的
宽度(width)而言,是可以设置成百分比的形式,如设置成容器的80%,那么该视频就会一直占其所在容器的80%的宽度,但是高度(height)就
无法设定了,因为一般人都不会按比例去缩放浏览器窗口。要么是拉窄点,要么是缩短点。所以,靠百分比的方式来保证视频尺寸的缩放不太现实。
在这样的前提下,还是希望视频就保持一定的尺寸,而网页的其他部分根据浏览器的大小动态改变布局。
如视频所示:
可以看到,在拉动浏览器的整个过程中,视频的尺寸是不改变的,直到浏览器的宽度小于视频的宽度时,视频的宽度才变小(使用了上面提到的Fluid Image Technique)。
制作整个效果没有什么新的技巧,也就是将CSS的尺寸判断又两种变成了三种而已。具体的可以看演示代码。
总结:
视频大小的自适应单靠CSS本身似乎是做不到的。而希望移动设备可以正常的观看页面视频还期待于视频网站使用更通用的视频格式而不是flash……
最后拿一个书中的公式收尾吧RWD = Fluid-grid layouts + CSS media queries + Fluid Image/Media + a state of mind
大意是响应式设计 = 流式网格布局 + @media语句 + 流式图片/媒体 + 设计者的意识
[转]响应式WEB设计学习(2)—视频能够做成响应式吗的更多相关文章
- [转]响应式WEB设计学习(1)—判断屏幕尺寸及百分比的使用
原文地址:http://www.jb51.net/web/70360.html 现在移动设备越来越普及,用户使用智能手机.pad上网页越来越普遍.但是传统的fix型的页面在移动终端上无法很好的显示.因 ...
- [转]响应式WEB设计学习(3)—如何改善移动设备网页的性能
原文地址:http://www.jb51.net/web/70362.html 前言 移动设备由于受到带宽.处理器运算速度的限制,因而对网页的性能有更高的要求.究竟是网页中的何种元素拉低了网页在移动设 ...
- 最佳的 14 个免费的响应式 Web 设计测试工具
一旦你决定要搭建一个网站就应该已经制定了设计标准.你认为下一步该做什么呢?测试!我使用“测试”这个词来检测你网站对不同屏幕和浏览器尺寸的响应情况.测试在响应式网页设计的过程中是很重要的一步.如果你明白 ...
- Web开发——HTML基础(HTML响应式Web设计 Bootstrap)
参考: 参考:http://www.bootcss.com/ 目录: 1.什么是响应式 Web 设计? 2.创建自己的响应设计 3.使用 Bootstrap 1.什么是响应式 Web 设计? RWD ...
- HTML5、CSS3与响应式Web设计入门(1)
HTML5与CSS3已经当仁不让的成为了这两年Web界最火爆的词,他们似乎在HTML4和CSS2统治了Web很多年之后的某一天突然爆发,然 后一直占据着所有Web开发者的视野.HTML5本身就是一个很 ...
- 《响应式Web设计实践》学习笔记
原书: 响应式Web设计实践 目录: 第2章 流动布局 1. 布局选项 2. 字体大小 3. 网格布局 4. 混合固定宽度和流动宽度 第3章 媒介查询 1. 视口 2. 媒介查询结构 3. 内嵌样式与 ...
- 学习之响应式Web设计---一个实例
周末闲来无事,做了一个响应式设计的例子.当然,由此并不能窥见响应式设计真谛之一斑.但,对于初次接触响应设计,对于响应式设计的概念依旧模糊不清的同学来说,或许是个启蒙! 闲语暂且不表,进入正题,这里没有 ...
- <HTML5和CSS3响应式WEB设计指南>译者序
"不是我不明白,这世界变化快."崔健的这首歌使用在互联网领域最合适不过.只短短数年的功夫,互联网的浪潮还没过去,移动互联网的时代已经来临.人们已经习惯将越来越多的时间花在各种移动设 ...
- css014 响应式web设计
css014 响应式web设计 一. 响应式web设计基础知识 1.rwd的三大理念:a.用于布局的弹性网络, b.用于图片和视频的弹性媒体,c.为不同屏幕宽度创建的不同样式的css媒体查询. ...
随机推荐
- MMORPG大型游戏设计与开发(part2 of net)
网络第二部分的将要给大家描述的是网络代码方面的设计,从基础的代码讲起,了解详细的网络模块构架. 没有放出整个源代码,是因为其中还有许多不足的地方,不过想必大家应该也能猜想出这个项目源码的地址了.不过对 ...
- 【原】css实现两端对齐的3种方法
说到两端对齐,大家并不陌生,在word.powerpoint.outlook等界面导航处,其实都有一个两端对齐(分散对齐)的按钮,平时使用的也不多,我们更习惯与左对齐.居中对齐.右对齐的方式来对齐页面 ...
- 《2016ThoughtWorks技术雷达峰会----变革的原因》
变革的原因 张松 ,ThoughtWorks中国区总经理 首先回顾IT历史,观点如下: 1.在80,90年代,IT作为一个种生产效率的提高工具,主要是把手工的活动自动化.以client se ...
- 【温故而知新-Javascript】使用 Ajax(续)
1. 准备向服务器发送数据 Ajax 最常见的一大用途是向服务器发送数据.最典型的情况是从 客户端发送表单数据,即用户在form元素所含的各个 input 元素里输入的值.下面代码展示了一张简单的表单 ...
- [AIR] as3 之条件编译多平台妙用
http://bbs.9ria.com/thread-418864-1-1.html 一直希望as3 可以支持条件编译,即满足A时编译函数1,满足B时则编译函数2. 最佳百度了之后,发现原来是可以实现 ...
- Maven学习(一)安装 配置
安装环境 windowXP 32 下载地址 http://maven.apache.org/download.cgi 安装包 apache-maven-3.2.3.zip 一.安装 Step1 解压缩 ...
- CF#345 (Div1)
论蒟蒻如何被cf虐 以下是身败名裂后的题解菌=========== Div1 A.Watchmen 有n个点,每个点有一个坐标.求曼哈顿距离=欧几里得距离的点对数量. 只需要统计x或y一样的点对数量. ...
- 源码安装mysql
1. 安装依赖组件 # yum install gcc gcc-c++ ncurses-devel perl -y 2. 安装cmake # wget http://www.cmake.org/f ...
- webstrom软件使用
很多人都发现 http://idea.lanyus.com/ 不能激活了 很多帖子说的 http://15.idea.lanyus.com/ 之类都用不了了 选择 License server (20 ...
- C#将JSON字符串对象序列化与反序列化
C#将对象序列化成JSON字符串 public string GetJsonString() { List<Product> products = new List<Product& ...