HTML5+CSS3响应式设计(二)

上一节传送门《HTML5+CSS3响应式设计(一)》

设置 viewport meta标签后,任何浏览器都不再缩放页面了,这一节我们可以针对不同视口
来修正设计效果。

一、我们用一个ipad(1024*768)来说明这一点

上一节中我们的页面是960px宽度,我们ipad如果是横屏显示1024px,页面显示很正常。

如果是竖屏显示768px,页面会被裁剪。

下面我们在样式表中增加媒体查询样式:

1 @media screen and (max-width: 768px) {
2     #wrapper {
3       width: 768px;
4     }
5     #header,#footer,#navigation {
6         width: 748px;
7     }
8 }    

媒体查询针对视口宽度不大于 768 像素的情况,重新调整了外壳、头部、页脚以及导航
等页面元素的宽度。

添加上面的媒体查询后,虽然里面并不好看,但是好歹页面没有被裁减,整个页面信息都能看到!

同样可以采用该方法来调整一下局部:

 1 @media screen and (max-width: 768px) {
 2   #wrapper {
 3     width: 768px;
 4   }
 5   #header,#footer,#navigation {
 6     width: 748px;
 7   }
 8   #content,#sidebar {
 9      padding-right: 10px;
10     padding-left: 10px;
11     width: 728px;
12   }
13 }

二、响应式设计中应该让内容始终优先显示

再来看下之前的界面:

为了便于之后的理解,也贴出页面结构的代码:

 1 <body>
 2     <div id="wrapper">
 3         <!-- the header and navigation -->
 4         <div id="header">
 5             <div id="navigation">
 6                 <ul>
 7                     <li><a href="#">navigation1</a></li>
 8                     <li><a href="#">navigation2</a></li>
 9                 </ul>
10             </div>
11         </div>
12         <!-- the sidebar -->
13         <div id="sidebar">
14             <p>here is the sidebar</p>
15         </div>
16         <!-- the content -->
17         <div id="content">
18             <p>here is the content</p>
19         </div>
20         <!-- the footer -->
21         <div id="footer">
22             <p>Here is the footer</p>
23         </div>
24     </div>
25 </body>

css如下:

 1     #wrapper {
 2         margin-right: auto;
 3         margin-left: auto;
 4         width: 960px;
 5     }
 6
 7     #header {
 8         margin-right: 10px;
 9         margin-left: 10px;
10         width: 940px;
11         background-color: #779307;
12     }
13
14     #navigation ul li {
15         display: inline-block;
16     }
17
18     #sidebar {
19         margin-right: 10px;
20         margin-left: 10px;
21         float: left;
22         background-color: #fe9c00;
23         width: 220px;
24     }
25
26     #content {
27         margin-right: 10px;
28         float: right;
29         margin-left: 10px;
30         width: 700px;
31         background-color: #dedede;
32     }
33
34     #footer {
35         margin-right: 10px;
36         margin-left: 10px;
37         clear: both;
38         background-color: #663300;
39         width: 940px;
40     }

这里我们的侧边栏在正文之前,试想一下,在移动端显示时,难道我们会先显示侧边栏再显示正文吗?(侧边栏信息的重要性不及内容)

所以在移动端,我们会优先显示正文,将侧边栏放在正文后面显示。

基于此处考虑,我们将侧边栏与正文互换一个位置:

1 <div id="content">
2   <p>here is the content</p>
3 </div>
4 <div id="sidebar">
5   <p>here is the sidebar</p>
6 </div>

互换后,对大屏幕的显示并没有什么影响,因为我们的侧边栏与内容用的是 float:left 和 float:right 属性,但是在 iPad上,则变成了首先显示内容区,下面才是侧边栏。

现在显示顺序已经是比较合理了,我们可以对小屏的内容追加一些样式,让其看起来更加漂亮一点。

三、给小屏添加一些媒体样式

 1         @media screen and (max-width: 768px) {
 2             #wrapper,
 3             #header,
 4             #footer,
 5             #navigation {
 6                 width: 768px;
 7                 margin: 0px;
 8             }
 9             #logo {
10                 text-align: center;
11             }
12             #navigation {
13                 text-align: center;
14                 background-image: none;
15                 border-top-color: #bfbfbf;
16                 border-top-style: double;
17                 border-top-width: 4px;
18                 padding-top: 20px;
19             }
20             #navigation ul li a {
21                 background-color: #dedede;
22                 line-height: 60px;
23                 font-size: 40px;
24             }
25             #content,
26             #sidebar {
27                 margin-top: 20px;
28                 padding-right: 10px;
29                 padding-left: 10px;
30                 width: 728px;
31             }
32             .oscarMain {
33                 margin-right: 30px;
34                 margin-top: 0px;
35                 width: 150px;
36                 height: 394px;
37             }
38             #sidebar {
39                 border-right: none;
40                 border-top: 2px solid #e8e8e8;
41                 padding-top: 20px;
42                 margin-bottom: 20px;
43             }
44             .sideBlock {
45                 width: 46%;
46                 float: left;
47             }
48             .overHyped {
49                 margin-top: 0px;
50                 margin-left: 50px;
51             }
52         }

最终效果如下:

看上去很赞,但不要高兴太早,接下来就是见证无奈的时刻。

媒体查询尽其所能,根据设备特性应用了对应的样式。

但问题是,现有的媒体查询只覆盖了小范围的视口。视口宽度小于 768 像素的设备都将
看到内容被剪切,而视口介于 768 像素到 960 像素之间的设备,则会使用未受媒体查询
样式影响的原有样式,结果我们已经知道了,一旦视口宽度小于 960 像素,页面就无法
匹配

如果针对已知的特定访问设备,可以单独使用媒体查询来制作理想的设计效果,我们已
经见过专门适配 iPad 有多简单。但是这种策略有严重的缺陷,换句话说,它不能适应未
来的变化。

我们的设计应该在突变之前保持灵动。要做到这点,需要将呆板的固定布局修改成灵活的流式布局

原文地址:https://www.cnblogs.com/lewis-messi/p/8309396.html

时间: 2024-10-16 08:00:36

HTML5+CSS3响应式设计(二)的相关文章

html5/css3响应式布局介绍及设计流程

html5/css3响应式布局介绍及设计流程,利用css3的media query媒体查询功能.移动终端一般都是对css3支持比较好的高级浏览器不需要考虑响应式布局的媒体查询media query兼容问题 html5/css3响应式布局介绍 html5/css3响应式布局介绍及设计流程,利用css3的media query媒体查询功能.移动终端一般都是对css3支持比较好的高级浏览器不需要考虑响应式布局的媒体查询media query兼容问题 一个普通的自适应显示的三栏网页,当你用不同的终端来查

html5/css3响应式页面开发总结

一,自适应和响应式的区别 自适应是一套模板适应所有终端,但每种设备上看到的版式是一样的,俗称宽度自适应. 响应式一套模板适应所有终端,但每种设备看到的版式可以是不一样的. 虽然响应式/自适应网页设计会带来兼容各种设备工作量大.代码累赘.加载时间长的缺点,但它们跨平台和终端,能"一次设计,普遍适用",可以根据屏幕分辨率自适应以及自动缩放图片.自动调整布局,它们不只是技术的实现,更多的是对于设计的全新思维模式. 很多网站的解决方法,是为不同的设备提供不同的网页,比如专门提供一个mobile

15款免费的 HTML5/CSS3 响应式网页模板

如果你想快速制作出一个优秀的网站,网站模板一定是必不可少的.网页设计师和开发人员也可以从网站模板入手,学习先进的布局方式和编码风格.下面这个列表为大家挑选了15款免费的 HTML5/CSS3 响应式网页模板,相信会有你需要的. 您可能感兴趣的相关文章 Web 前端开发人员和设计师必读文章集锦 经典网页设计:25个应用视差滚动单页网站 经典网页设计:20个新鲜出炉 HTML5 网站 经典网页设计:20例简洁精美着陆页面设计 经典网页设计:20个简约风格电子商务网站 1. Big Picture 2

html5/css3响应式页面的设计流程

第一步:确定需要兼容的设备类型.屏幕尺寸 通过用户研究,了解用户使用的设备分布情况,确定需要兼容的设备类型.屏幕尺寸. 设备类型:包括移动设备(手机.平板)和pc.对于移动设备,设计和实现的时候注意增加手势的功能. 屏幕尺寸:包括各种手机屏幕的尺寸(包括横向和竖向).各种平板的尺寸(包括横向和竖向).普通电脑屏幕和宽屏. 需要考虑的问题: 某个页面进行响应式设计时其适用的尺寸范围是哪些?比如,1688搜索结果页面,跨度可以从手机到宽屏,而1688首页,由于结构过于复杂,想直接迁移到手机上,不太现

Css3响应式设计

什么是响应式设计? 首先,我们要了解响应式设计是什么?一句通俗易解得话就可以概括,所谓响应式设计就是可以让你设计的网页不仅仅在PC端显示,还可以在智能机以及iPad平板等移动设备上显示,应用了响应式设计的网页可以随着分辨率的大小进行样式变化,但是响应式设计不仅仅是关于屏幕分辨率自适应以及自动缩放的图片等等,它更像是一种对于设计的全新思维模式现在响应式设计已经应用的越来越广,学前端的我们不能不去掌握响应式设计,像美国白宫就对其官网主页进行更新,改用了响应式网页设计,这意味着无论用户是通过何种电子设

亲测 html5+css3响应式asp站部分截图

最近html5+css3很火热,自己也试着练习下手笔,做了一个技术站,大致是这样的,大家给提提意见啊!!!

CSS3 响应式设计 网络视图与媒体查询综合笔记

Chania The Flight The City The Island The Food The City Chania is the capital of the Chania region on the island of Crete. The city can be divided in two parts, the old town and the modern city. What? Chania is a city on the island of Crete. Where? C

html5、css3及响应式设计入门

一.响应式设计的定义 将三种已有的开发技巧(弹性网格布局.弹性图片.媒体和媒体查询)整合起来,命名为响应式网页设计.真正的响应式设计方法不仅仅只是根据视口大小改变网页布局.相反,它是要从整体上颠覆我们当前 设计网页的方法.以往我们先是针对桌面电脑进行固定宽度设计,然后将其缩小并针对小屏幕进行内容重排:现在我们应该首先针对小屏幕进行设计,然后逐步增强针对大屏幕的设计和内容(渐进增强). 二.H5和CSS3 HTML5提供了更多语义化标签,减少网页加载时间:H5在表单提交等页面交互中极大改善,减少了

HTML5实践 -- 使用CSS3 Media Queries实现响应式设计

转载请注明原创地址:http://www.cnblogs.com/softlover/archive/2012/11/21/2781388.html 现在屏幕分辨率的范围很大,从 320px (iPhone) 到 2560px (大型显示器),甚至更大.用户也不只是使用台式电脑访问web站点了,他使用手机.笔记本电脑.平板电脑.所以传统的设置网站宽度为固定值,已经不能满足需要了.web设计需要适应这种新要求,页面布局需要能够根据访问设备的不同分辨率自动进行调整.本教程将会向你介绍,如何使用htm