HTML5、CSS3与响应式Web设计入门(2)
HTML5的宽泛含义开拓了Web开发的视野,增加了开发方案的多样性,同时也带给很多Web开发者不小的困惑,就是HTML5在涉及到Web某个应用领 域的开发时,到底代表了什么?本篇文章的目的就在于跟大伙分享HTML5,CSS3在移动Web应用开发上的概念和特点,这个概念就是 “Responsive Web Design - 响应式Web设计"。
创作的Web内容时,前端交互开发者经常使用浏览器来运行测试。下面几种主流浏览器的尺寸检测预览插件可以很好的帮助我们:
• Internet Explorer Developer Tools,下载地址:
http://www.microsoft.com/en-us/download/details.aspx?id=18359
• Safari下非常强大的Web页面尺寸浏览扩展Resize,下载地址:
• Firefox下的Web页面尺寸浏览扩展工具Firesizer,安装地址:
https://addons.mozilla.org/en-US/firefox/addon/firesizer/
• Google Chrome下Web页面尺寸浏览扩展工具Window Resizer,安装地址:
https://chrome.google.com/webstore/detail/window-resizer/kkelicaakdanhinjdeammmilcgefonfh/related
可以根据自己使用不同的浏览器来下载对应的扩展,这样在创建响应式Web页面时,你可以随时通过上面这些扩展来预览Web内容。
前端交互设计师和开发者还可以通过下列工具来在设计开发时创建不同的分辨率下的Web页面,它们分别是:
• Adobe Dreamweaver CS6,这个老牌的工具最新的版本完美集成了JQueryMobile框架和一个非常友善的Fluid Grid Layout可视化工具,可以完全应对响应式Web设计的内容开发。下面的截图就是Dreamweaver CS6的Fluid Grid Layout功能。
• Adobe Muse.Adobe Muse提供给网站架构师和前端交互设计师一个可视化的响应式Web设计的应用界面,可以在网站的蓝图规划设计阶段就纳入响应式Web设计的考量。下面是Adobe Muse在创作响应式Web设计时的相关截图。
• Adobe Edge Code Preview.这是一个非常犀利的前端代码编辑器,通过它,前端开发者能够快速地编写HTML,CSS和JavaScript代码。目前它是一个轻量 级,支持代码高亮,结构化浏览的不错选择,由于它基于开源项目改造,所以,开发者能够为它打造很多定制化的插件。由于目前该工具还处于Preview版 本,因此还有一些不足和待改进的方面,但是已经不难看出这是一款不错的Web前端代码编辑工具。
以上的几款工具,开发者均可以通过在免费注册为Adobe创意云(http://t.cn/zYYGZfj)的用户获得Dreamweaver CS6可以获取30天的试用版本,而Adobe Muse和Adobe Edge Code均免费可以下载。
当然,响应式Web设计的前端开发工具非常之多,比如AptanaStudio,SublimeText,TextMate,BBEdit等等都是优秀的代码编辑工具,而这些工具也都能够很好的和Dreamweaver CS6和Muse一起配合使用。
继续讨论响应式Web设计,不得不提两个部分的支持,分别是CSS3和Media Query。我们先从CSS3入手,CSS3是在CSS2.1定义规范核心上的改动,目前CSS3最终的specification还未最终定稿,但是这 并不妨碍我们使用CSS3来支持响应式Web设计的相关工作。使用CSS3时,要注意由于目前市场占有率仍然很高的IE6,7,8这三个版本会无法支持 CSS3的很多新特性,所以,我们应当谨慎使用使用CSS3的Experimental特性,而应该考虑使用对CSS2.1向下兼容的CSS特性。如果你 的Web内容就是为了呈现HTML5最新特性所带来的效果的话,则可以不用有这种顾虑。下面这个网页(http://ie.microsoft.com/testdrive/html5/borderradius/default.html)是一个CSS3在其几个新属性上的变化演示:
如果你熟悉CSS2.1实现上述效果使用的Slide door设置左右PNG图片填充的手段,就会发现CSS3的革命性:第一,无需在CSS3属性中设置HTTP对图片的请求方式,第二,属性值的灵活调整, 可以灵活的应对各种形状的要求,减少工作量;第三,允许追加指定浏览器兼容性,例如对CSS属性值添加-webkit-,-moz-,-chrome-之 类的前缀,但是随着W3C对CSS3规范的日益完善,值得高兴的是,前端开发者设定这样的特殊兼容性的工作越来越少。关于CSS3在响应式Web上的诸多 新特性,我会在以后其他文章里来专门讨论这部份内容。
Media Query是响应式Web设计开发工作中,另外一个要必须掌握的技术,目前Media Query在浏览器上的兼容度要高很多,Firefox,Safari,Chrome,Opera,iOS Safari,IE等主流浏览器都能很好的支持Media Query。CSS3 Media Query模块是目前在特定移动设备上开发Web应用样式所必需的技术,比如如何访问移动设备屏幕可视窗口的宽度(viewport width)属性,开发者必须使用CSS3 Media Query。Media Query从技术成份上分析,其组成是比较简单的,是由一个媒体类型和若幹個检测判断设备媒体功能的表达式所组成,对应不同的设备,通过执行Media Query的判断检测来实现对特定属性的准确访问。我们可以通过下面的截图来简单了解一下Media Query的表达方式。
上图的部份红色下划线标注的部份是CSS3 Media Query表达式,主要通过对屏幕viewport最小分辨率的判断来附加不同的CSS样式单。下面用一个更直观的例子来说明Media Query的作用。
将这个CSS文件link到一个HTML5的页面,用IE9或Chrome24等新版浏览器打开页面,当我们手动缩放浏览器窗口大小时,会发现随着 窗口的缩放,页面的背景颜色起了变化,这就是响应式Web设计里最简单的一个演示,随着浏览器viewport尺寸的改变,media query响应Web页面后呈现了不同的色彩。其实,CSS3 Media Query在HTML5页面中的作用就是与浏览器交互,从浏览器得到对应的True/False结果后,执行特定的CSS3样式加载,例如:
- <link rel="stylesheet" media="screen and (orientation: landscape) and
- (min-device-width: 800px), projection" href="landscape-screen.css" />
上面这段CSS3的link代码中media属性就是通过Media Query和浏览器做交互的表现形式,通过and来做“与”判断后,加载对应的CSS文件。
毫无疑问,CSS3和Media Query的配合当下就能提供给响应式Web设计良好的支持,满足用户在open web的全新环境下为跨屏幕,跨设备的内容浏览需求。本文介绍了HTML5,CSS3在响应式Web设计的大环境下的相关概念,其重要性和开发者所需要的 几个基础制作工具。在以后的文章中,将有机会深入讨论响应式Web设计在技术上的各方面的细节。
HTML5、CSS3与响应式Web设计入门(2)的更多相关文章
- HTML5、CSS3与响应式Web设计入门(1)
HTML5与CSS3已经当仁不让的成为了这两年Web界最火爆的词,他们似乎在HTML4和CSS2统治了Web很多年之后的某一天突然爆发,然 后一直占据着所有Web开发者的视野.HTML5本身就是一个很 ...
- 如何通过CSS3 实现响应式Web设计
如何通过CSS3 实现响应式Web设计: 分为三个步骤:(1)允许网页宽度自动调整.首先在页面头部中,我们需要加入这样一行:<meta name="viewport" con ...
- HTML5+CSS3的响应式网页设计:自动适应屏幕宽度
这几天都在修改博客上面的样式.本来用的是d83.0的模板.自己又修改了许多地方,其中自己修改的一些地方在手机里面显示的效果不是很理想,于是想改成自适应的效果.对CSS3不是特别的熟练,只能去网上找找案 ...
- html5 + css3 + jQuery + 响应式布局设计
1. [代码][HTML]代码 <!DOCTYPE html><html dir="ltr" lang="zh-CN">< ...
- CSS响应式web设计
参考 1. 响应式web设计之CSS3 Media Queries http://www.cnblogs.com/mofish/archive/2012/05/23/2515218.html 2. 用 ...
- 【01】《响应式Web设计:HTML5和CSS3实战》
[01] (魔芋:已看完.) [01]<响应式Web设计:HTML5和CSS3实战>(全).pdf 共246页. 2013年1月出版. 读后感:适合入门的书籍,对于响应式布局, ...
- <HTML5和CSS3响应式WEB设计指南>译者序
"不是我不明白,这世界变化快."崔健的这首歌使用在互联网领域最合适不过.只短短数年的功夫,互联网的浪潮还没过去,移动互联网的时代已经来临.人们已经习惯将越来越多的时间花在各种移动设 ...
- [转]响应式web设计之CSS3 Media Queries
开始研究响应式web设计,CSS3 Media Queries是入门. Media Queries,其作用就是允许添加表达式用以确定媒体的环境情况,以此来应用不同的样式表.换句话说,其允许我们在不改变 ...
- 响应式Web初级入门
本文来自我的前端博客,原文地址:http://www.hacke2.cn/about-responsive/ 跨终端时代的到来 当你乘坐各种交通工具(公交.地铁.轻轨.火车)时你会发现,人们都个个低下 ...
随机推荐
- linux命令killall 、kill 、pkill 命令详解
转自:http://www.cnblogs.com/rsky/p/4886043.html killall 命令 Linux系统中的killall命令用于杀死指定名字的进程(kill processe ...
- ORM sqlachemy
本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM介绍 orm英文全称object relational mapping ...
- pythonNetday06
进程 Process(target,name,args,kwargs) p.pid : 创建的新的进程的PID号 p.is_alive() 判断进程是否处于alive状态 p.daemon = Tru ...
- React-Todos
最近学完React的最基本概念,闲下来的时候就自己写了一个Todo-List的小应用.这里做个简略的说明,给想好好学React的新手看. React-Todo 学习前提 这里我用了webpackb做了 ...
- CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点 以下 ...
- Microsoft Office Professional Plus 2013全套
Microsoft Office Professional Plus 2013全套产品,全激活版本 包括Access Word Excel Powerpoint Publisher Skyd ...
- 【python 】装饰器 (多个参数的函数,带参数的装饰器)【转】
最简单的模板是这样的 #-*-coding:utf-8-*- def outer(func): def inner(): print 'before' func() print 'after' # r ...
- Unity XLua 官方案例学习
1. Helloworld using UnityEngine; using XLua; public class Helloworld : MonoBehaviour { // Use this f ...
- eclipse报Access restriction: The type 'BASE64Decoder' is not API处理方法
今天从svn更新代码之后,由于代码中使用了BASE64Encoder 更新之后报如下错误: Access restriction: The type ‘BASE64Decoder’ is not A ...
- linux 解析json
epel源 yum install jq ====================== [root@mhc NaHan-master]# curl 127.0.0.1:5000/v2/_catalog ...