响应式网页设计(Responsive Web Design)这个概念在2000年的时候就有人提出来了,其实我更喜欢将其翻译为自适应网页设计,阮一峰关于Responsive Web Design的一篇文章就是翻译为自适应网页设计,但是国内都采用了响应式网页设计这一生硬的翻译(你能第一次看到响应式网页设计这种称呼而联想到他的具体含义吗?)。既然这种二流翻译已经是主流,我也采用响应式网页设计这一说法。
在阮一峰的自适应网页设计这篇文章中他举了一个例子来说明这种设计的应用.
下面是对阮一峰这篇文章中该片段的引用:
-------------------------------分割线以内为引用---------------------------------
他制作了一个范例,里面是《福尔摩斯历险记》六个主人公的头像。如果屏幕宽度大于1300像素,则6张图片并排在一行。精心开发5年的UI前端框架!
如果屏幕宽度在600像素到1300像素之间,则6张图片分成两行。
如果屏幕宽度在400像素到600像素之间,则导航栏移到网页头部。
如果屏幕宽度在400像素以下,则6张图片分成三行。精心开发5年的UI前端框架!
mediaqueri.es上面有更多这样的例子。
这里还有一个测试小工具,可以在一张网页上,同时显示不同分辨率屏幕的测试效果,我推荐安装。
-------------------------------引用结束---------------------------------
原文只是用图片说明了什么叫自适应,但是没有给出实现的方法。
下面来讲讲关于响应式网页设计的几个知识点:
一、移动设备的Viewport
什么是Viewport呢?
手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。移动版的 Safari 浏览器最新引进了 viewport 这个 meta tag,让网页开发者来控制 viewport 的大小和缩放,其他手机浏览器也基本支持。精心开发5年的UI前端框架!
“viewport”,翻译为中文可以叫做“视区”,大家都知道移动设备的屏幕一般都比PC小很多,webkit浏览器会将一个较大的“虚拟”窗口映射到移动设备的屏幕上,默认的虚拟窗口为980像素宽(目前大部分网站的标准宽度),然后按一定的比例(3:1或2:1)进行缩放。也就是说当我们加载一个普通网页的时候,webkit会先以980像素的浏览器标准加载网页,然后再缩小为490像素的宽度。注意这个缩小是一个全局缩小,也就是页面上的所有元素都会缩小。
一个常用的针对移动网页优化过的页面的 viewport meta 标签大致如下:
- <meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1″>
viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。用户缩放到的最大比例为1.0,即用户不能通过手势缩放。没有专门针对移动设备优化的网站都是自由缩放的。
width:控制 viewport 的大小,可以指定的一个值,如果 600,或者特殊的值,如 device-width 为设备的宽度(单位为缩放为 100% 时的 CSS 的像素)。
height:和 width 相对应,指定高度。
initial-scale:初始缩放比例,也即是当页面第一次 load 的时候缩放比例。
maximum-scale:允许用户缩放到的最大比例。
minimum-scale:允许用户缩放到的最小比例。
user-scalable:用户是否可以手动缩放精心开发5年的UI前端框架!
二、用Media Queries来为不同设备采用不同的css布局
Viewport实现的自适应效果非常差强人意,绝大多数网站都是用Media Queries来实现自适应的,但同时我看到很多使用了Media Queries的网页同时也加了viewport,一般他们这样定义:
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
我发现去掉这句代码不会有任何变换,所以总觉得Viewport这个东西很鸡肋,对于这个问题我在Media Queries和Viewport的困惑一文中作了一些解释,虽然连我自己都还是没有搞清楚但是还是建议你去看一下。
回到Media Queries的使用上来。
先举个例子,大家看这个demo。
响应式设计demo
一个普通的自适应显示的三栏网页,当你用不同的终端来查看这个页面的时候,他会根据几种终端来显示不同的样式,在电脑上是三列,在pad上应该也是三列,在大屏手机上是三行,在屏幕小于320的手机上只显示主要内容,隐藏掉了次要元素。(这里关于响应式布局还有个比较好的消息,就是拖动浏览器也可以触发判断条件,测试的时候你不需要去找一堆手机,只要把自己的浏览器窗口缩小到一定尺寸就可以了,这个demo也可以用拖动浏览器大小的方式测试。)在查看这个demo的时候你可以不断拖动来改变浏览器窗口宽度,你会发现随着宽度的变化,布局和中间div的背景图片都会随着改变。
这就是一个最简单的 响应式布局 的页面。我们就从这个例子里认识下media query属性吧。 精心开发5年的UI前端框架!
- @media screen and (min-width: 320px) and (max-width : 479px)
就从这个条件语句开始介绍,media属性后面跟着的是一个 screen 的媒体类型(上面说过的十种媒体类型之一)。然后用 and 关键字来连接条件(其他关键字还有 not, only,看字面大家能理解,就不多说。),然后括号里就是一个媒体查询语句,稍微懂点css的同学都能看懂,这个条件语句意思是在大于320小于479的分辨率下所激活的样式表。
这个语句,就是响应式布局的基础应用了。在判断终端分辨率大小之后,赋予不同的样式进去,就像我们的例子里 精心开发5年的UI前端框架!
- @media screen and (max-width : 320px){
- body{...}
- }
- @media screen and (min-width: 800px) and (max-width: 1024px){
- body{...}
- }
至于要判断多少种分辨率,完全取决于你产品的需求,常见的分辨率有手机,平板(注意这些终端是存在 横屏 竖屏 区别的,这个下一篇里提),桌面显示器。自己为自己所面对的终端定制样式。
相关推荐
总的来说,这个压缩包是一个全面的响应式网页设计入门教程,它将引导初学者了解和掌握这一关键技能,为他们在多设备环境下构建优秀的用户体验打下坚实的基础。通过深入学习和实践,你将能够创建适应任何屏幕尺寸的...
网页中的图形设计是在线内容用户体验的关键,尤其是现在的用户会使用多种设备访问网页,如智能手机、平板电脑、笔记本..., 《响应式Web图形设计》结构整、轻松易懂,能够帮助Web设计新手快速入门,并打下坚实的基础。
网页的结构化、合理的标签使用、良好的语义化设计,都是响应式网页设计中不可或缺的要素。 文章中也提供了一个XHTML代码示例,用以说明响应式网页模板的基本结构。代码中定义了页眉、内容区和页脚等基本组成部分。...
响应式布局是现代网页设计的关键技术之一,它允许网页在不同设备上,如桌面电脑、平板电脑和手机,都能提供良好的用户体验。这个压缩包提供的资源是两个响应式布局页面,对于初学者来说,是一个很好的入门学习材料。...
"网页设计1:网页设计入门"部分,我们将探讨网页设计的基本概念,包括网页的组成元素、颜色理论、字体选择、版面设计原则以及网页设计的目标与目的。了解这些基础知识是构建吸引人且用户友好的网站的前提。此外,...
本教程“网页设计入门PPT”专注于Java Web技术中的HTML基础知识,为初学者提供了一个全面的学习平台。 HTML(HyperText Markup Language)是网页设计的核心语言,用于定义网页的结构和内容。它由一系列标签组成,...
网页设计入门学习是一个涵盖多个方面的主题,涉及到网页的布局、色彩搭配、用户体验、前端开发技术等多个关键领域。对于初学者而言,首要任务是理解和掌握网页设计的基础概念。 首先,了解HTML(HyperText Markup ...
响应式布局是现代网页设计的关键技术之一,它允许网页根据用户使用的设备屏幕尺寸和方向自动调整布局、内容和功能,从而提供一致且优化的用户体验。本资料“响应式布局入门共4页.pdf”是一个压缩包文件,虽然名称...
"HTML+CSS网页设计与布局 从入门到精通"是一本旨在帮助初学者系统学习并熟练掌握这两种语言的教程,由温谦编著,并由人民邮电出版社出版。 HTML(HyperText Markup Language)是一种标记语言,它用于定义网页内容的...
传统的方法包括表格布局,但现代网页设计更倾向于使用流式布局(使用百分比单位)、响应式布局(根据设备屏幕尺寸调整布局)以及Flexbox和Grid。Flexbox提供了一种更为灵活的方式处理一维布局(行或列),可以轻松地...
响应式网页设计是一种使网站在不同设备上(如桌面、平板电脑、手机)都能提供良好用户体验的技术。Bootstrap通过预定义的CSS类、网格系统和组件,使得创建响应式页面变得简单易行。它的核心特性包括: 1. **网格...
响应式网页设计 网页布局与流体网格 HTML表单设计与优化 HTML与JavaScript交互基础 HTML5画布(Canvas)应用 HTML5音频与视频标签使用 HTML5离线存储 HTML5拖放功能实现 HTML5地理定位功能 HTML5语义化标签解析 HTML5...
响应式设计是现代网页设计的重要组成部分,它确保网站在各种屏幕尺寸上都能正常显示。通过媒体查询(`@media`),我们可以根据设备特性调整CSS样式。 在这个课程中,你将学习如何创建基本的HTML文档结构,使用CSS...
3. 响应式设计:现代网页设计需要考虑多设备兼容,教程会涵盖媒体查询、Flexbox和Grid布局系统,以实现自适应设计。 4. JavaScript基础:JavaScript是网页动态效果的关键,教程可能介绍基本语法、事件处理、DOM操作...
通过以上分析可以看出,该项目不仅包含了HTML、CSS和JavaScript的基础知识,还涵盖了响应式设计、多媒体元素嵌入、交互效果等高级技巧,非常适合初学者快速入门并深入学习前端开发技术。此外,提供的多种主题素材也...
通过学习这些代码,开发者能够掌握如何创建适应不同设备的响应式网页,提升网站的可用性和吸引力。 在"Responsive-Web-Design-with-HTML5-and-CSS3-Second-Edition-master"这个压缩包中,读者可以找到分章节的代码...
网页设计入门指导 (CHM).rar 是一个压缩包文件,其中包含了龙腾教育网提供的一个有价值的电子帮助文档,专门针对初学者介绍网页设计的基础知识。CHM(Microsoft Compiled HTML Help)格式是微软开发的一种帮助文件...
这个模板3提供了实际操作的样张,使教学过程更为直观,学生可以通过模仿样张来实践网页设计的基本概念和技术。 在网页制作领域,HTML(超文本标记语言)是构建网页内容的基础,CSS(层叠样式表)用于控制页面的布局...
这个"浅绿色bootstrap商务响应式网页模板"显然基于Bootstrap框架,利用其强大的功能和简洁的设计理念,为商务网站提供了优雅且适应各种屏幕尺寸的解决方案。 在描述中提到的“浅绿色”可能是指模板的主题色,它为...