响应式Web设计总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

响应式网页设计三步走

第一步. Meta 标签 (查看demo)

为了适应屏幕,多数的移动浏览器会把HTML网页缩放到设备屏幕的宽度。你可以使用meta标签的viewport属性来设置。下面的代码告诉浏览器使用设备屏幕宽度作为内容的宽度,并且忽视初始的宽度设置。这段代码写在 里面

1.

1.

第二步. HTML 结构

这个例子里面,有header、content、sidebar和footer等基本的网页布局。 header 有固定的高180px,content 容器的宽是600px,sidebar的宽是300px。

第三步. Media Queries CSS3 media query

响应式网页设计的关键。它像一个if语句,告诉浏览器如何根据特定的屏幕宽口来加载网页。

如果屏幕窗口小于980px,下面的规则就生效。在这里,我设置了容器的宽度为百分比的形式而不是像素单位,这样会更加灵活。

如果屏幕窗口小于700px,定义 #content 和 #sidebar 为自适应宽度,并移除它的浮动属性,这样它会全屏显示。

如果屏幕窗口小于480px (移动设备的屏幕),设置#header 高为自适应,把h1字体设置为24px,并且隐藏#sidebar。

这些media query,你可以写很多。在这个demo,我只写了三个。media query的目的是应用不同

的CSS规则来实现屏幕的最佳布局。它可以写在同一个CSS文件,也可以写在不同的文件。

通过CSS3 Media Query实现响应式Web设计

概述

我们将范例页面的父级容器宽度设置为固定的980px,对于桌面浏览环境,该宽度适用于任何宽

于1024像素的分辨率。我们通过media query来监测那些宽度小于980px的设备分辨率,并将页面的

宽度设置由“固定”方式改为“液态”,布局元素的宽度随着浏览器窗口的尺寸变化进行调整。当可

视部分的宽度进一步减小到650px以下时,主要内容部分的容器宽度会增大至全屏,而侧边栏将被置

于主内容部分的下方,整个页面变为单栏布局。

HTML代码

我们将把注意力集中在页面的主要布局方面,并使用HTML5标签来更加语义化的实现这些结构,包括页头、主要内容部分、侧边栏和页脚:

1.

2.

3.

17.

18.

19.

20. blog post

21.

22.

23.

24.

29.

30.

31. footer

32.

33.

34.

HTML5

IE是永恒的话题;对于我们使用的HTML5标签,IE9之前的版本无法提供支持。目前的最佳解决方案仍是通过html5.js来帮助这些旧版本的IE浏览器创建HTML5元素节点。在我们的页面HTML代码中调用该JS文件:

1.

CSS

HTML5块级元素样式

首先仍是浏览器兼容问题。虽然我们已经可以在低版本的IE中创建HTML5元素节点,但还是需要在样式方面做些工作,将这些“新”元素声明为块级:

1.article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav,

section {

2. display: block;

3.}

主要结构的CSS

忽略细节,我们仍是将注意力集中在大问题上。正如在前文“概述”中提到的,默认情况下页面容器的固定宽度为980像素,页头部分(header)的固定高度为160像素;主要内容部分(content)的宽度为600像素,左浮动;侧边栏(sidebar)右浮动,宽度为280像素。

1.#pagewrap {

2. width: 980px;

3. margin: 0 auto;

4.}

5.

6.#header {

7. height: 160px;

8.}

9.

10.#content {

11. width: 600px;

12. float: left;

13.}

14.

15.#sidebar {

16. width: 280px;

17. float: right;

18.}

19.

20.#footer {

21. clear: both;

22.}

截至目前的效果演示

目前我们只是初步完成了页面结构的HTML和默认结构样式,当然,并不包括那些与话题无关的细节实现问题。正如可以在目前的演示中看到的,由于还没有做任何media query方面的工作,页面还不能随着浏览器尺寸的变化而改变布局。

CSS3 Media Query

终于开始说正事儿了。首先我们需要在页面中调用css3-mediaqueries.js文件,来帮助IE8或是之前的版本支持CSS3 media queries:

1.