超流行的响应式设计极简教程

网上关于响应式设计的教程好复杂,我写一个简版的。

简单说呢就针对不同的屏幕分辨率应用不同的CSS样式。比如在电脑、Pad设备上,屏幕比较宽,就可以一行放2个Div。到了手机上,或者Pad竖着拿的的时候,一行就只放1个Div。

这里有2个关键点:

  • 一是如何在不修改Dom结构的前提下调整布局。
  • 二是如何判断屏幕分辨率并应用对应的CSS。

以上两点都应该不依赖与JS。

实现第一点依靠的是流式布局。就是所有参与布局的DIV都用float:left,宽度都用百分比表示。比如下图,黄色部分的宽度是60%,橘色宽度是40%。

如果将黄色和橘色的宽度都width=100%,那么从1行变成2行了,如下图。从而实现不修改Dom实现布局变化。

那么如何不使用JS而实现动态调整CSS样式就是第二个关键点。

HTML5中提供了一种新的CSS语法——@media,学名是Media Query,可以为不同的分辨率设定不同的样式。

CSS

/* Phone Portrait (320px) */
@media only screen and (max-width: 320px) {
    #head { width: 100%; }
    #main { width: 100%; }
    #foot { width: 100%; }
    #left { width: 100%; }
    #right { width: 100%; }
}

上面这段代码的含义就是当屏幕宽度小于等于320像素时应用大括号中的样式。
下图是在CSS生效时在浏览器中的效果:

@media还有一些更复杂的用法,比如:

CSS

/* Phone Landscape (480px) */
@media only screen and (min-width: 321px) and (max-width: 480px) and (orientation: landscape) {

这段语句就是针对iPhone横屏的。即,浏览器宽度在321-480像素之间,且方向是“横向”时生效。

不过自从Retina这中妖艳的屏幕推出,分辨率已经不能代表世界的真相了。小小的Note3的分辨率比一些17“显示的分辨率还高。
所以还有必要判断一下设备的像素密度-device-pixel-ratio。

CSS

@media only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2)

比如上面的语句就是判断终端的像素比是2的话,所渲染的样式。可以适用于iPhone4,iPhone5等设备。

除了上述两点,还需要在页面上增加一个viewport的meta标签,否则在手机上可能会有页面自动缩放的情况。例如:

HTML

  1. <meta name="viewport" content="width=device-width; initial-scale=1.0">

总结一下:响应式布局有三个关键点:

  • 流式布局 Liquid Layout
  • Media Query
  • viewport

具体细节就请大家自己研究相关的语法了。

Media Query的语法比较复杂,这里个大家推荐一个工具,可以方便的设计布局,并可以针对各种设备自动生成Media Query的语句:

http://www.responsivewebcss.com/

转载自:AlloyTeam

时间: 2024-11-23 19:34:32

超流行的响应式设计极简教程的相关文章

想学习超流行的响应式设计?来看看这篇教程【转载】

网上关于响应式设计的教程好复杂,我写一个简版的. 简单说呢就针对不同的屏幕分辨率应用不同的CSS样式.比如在电脑.Pad设备上,屏幕比较宽,就可以一行放2个Div.到了手机上,或者Pad竖着拿的的时候,一行就只放1个Div. 这里有2个关键点: 一是如何在不修改Dom结构的前提下调整布局. 二是如何判断屏幕分辨率并应用对应的CSS. 以上两点都应该不依赖与JS. 实现第一点依靠的是流式布局.就是所有参与布局的DIV都用float:left,宽度都用百分比表示.比如下图,黄色部分的宽度是60%,橘

致那些终将流行的响应式设计

如今,web应用已经深入到我们生活的方方面面了.而你知道吗?72%的用户们都希望他们访问的网站不仅在台式机或笔记本上有赏心悦目的界面,同时也能适应移动设备的屏幕.为此,身为设计师和工程师的我们必须紧抓这个潮流,走在前沿.达尔文教给世人最精准的四个字就是:适者生存.而响应式设计,凭借着其灵活可变的特性以及一些其他因素,必定会被越来越多的设计师青睐,成为未来web开发的一大主流设计模式. Ethan Marcotte,致力于推广响应式设计的先驱者,指出响应式设计基本上包括三大元素:流体网格,自适应的

另外一款超棒的响应式布局jQuery插件 – Freetile.js

在线演示 我们曾经介绍过俩款知名的响应式布局插:isotope和masonary,今天我们这里再介绍一款相当不错的响应式布局插件 – Freetile.js,使用它同样可以生成超酷的动态布局效果.相信大家一定会喜欢! 主要特性 Freetie来自于Assemblage和 Assemblage Plus的内建布局引擎,设计灵感来自于Masonry,VGrid和Wookmark,但是和他们相比较,拥有以下独特的地方: 允许包含任何尺寸的元素,并且不要求一个固定的列宽度,因此你不需要指定列宽度来迎合你

学习响应式设计(Learning Responsive Web Design)完整版PDF

想要为平板.手机.笔记本.大屏幕设备,甚至可穿戴设备提供最优的用户体验?那就学习响应式设计吧.这是一本内容特别全面.讲解非常透彻的入门书.特别地,通过这本书不仅能迅速掌握响应式Web设计的基本原理,还能够从头到尾了解响应式设计的工作流程:从项目启动开始,到项目最终上线为止. 只要你的工作与创建.改造或者升级网站有关系,都应该看看这本书.换句话说,不仅是前端开发人员,设计师.产品经理.项目经理,甚至后端开发人员也可以通过本书掌握响应式设计的精髓所在.这本书基于响应式设计的前沿技术和社区经验写成,汇

响应式设计三部曲

随着智能手机的流行,响应式网页设计无疑成为了如今网页设计的大趋势.对于新手来时,响应设计听起来有点复杂,但它实际上是比你想象的更简单.只需下面的3个步骤即可构建一个响应式的网页! 1.Meta Tag 大多数移动浏览器扩展的HTML页面到宽视口宽度,以便在屏幕上适合.您可以使用viewport meta标签来重设此.下面的视口标签告诉使用该设备的宽度视口宽度和禁用初始规模浏览器. <meta name="viewport" content="width=device-w

Responsive Design ------响应式设计

什么是响应式设计呢?维基百科是这样对响应式作的描述:“Responsive设计简单的称为RWD,是精心提供 各种设备都能浏览网页的一种设计方法,RWD能让你的网页在不同的设备中展现不同的设计风格.”从这一点描述来说,RWD不是流体布局,也不是网格布局, 而是一种独特的网页设计方法. 响应式设计要考虑元素布局的秩序,而且还需要做到“有求必应”,那就需要满足以下三个条件:网站必须建立灵活的网格基础:引用到网站的图片必须是可伸缩的:不同的显示风格,需要在Media Queries上写不同的样式. 要想

自适应设计与响应式设计

目前非常流行自适应设计与响应式设计,而且经常让人混淆,自适应设计不应与自适应布局混为一谈,它们是完全不一样的概念. 在这先说明下这两者的异同: 自从移动终端飞速发展以来,各种各样的机型突飞猛进,很多网站的解决方法,是为不同的设备提供不同的网页,比如专门提供一个mobile版本,或者iPhone/iPad版本.这样做固然保证了效果,但是比较麻烦,同时要维护好几个版本,而且如果一个网站有多个portal(入口),会大大增加架构设计的复杂度. 于是,很早就有人设想,能不能"一次设计,普遍适用"

如何说服客户使用响应式设计?

网页设计是一个时效性很强的行业,我们需要紧跟趋势潮流,不断学习.响应式设计就是这个时代最值得学习.时间的趋势. 网络术语真是越来越流行了,现在即便是客户,也略知一二,很多客户对设计的了解也不浅.那么怎么说服客户呢?下面我将讲一点和客户沟通的技巧,让客户接受响应式设计(相应的,工钱你懂的). 投其所好 在任何项目的开始阶段,都要明白.了解.分析客户的需求. 在满足客户预期的基础上,尽量让客户能够完全的理解你的设计. 你要知道客户想要什么.在你的大脑中转换成术语后,再用平易近人的语言讲出来. 例如,

响应式设计-VS-REM布局

水平有限,不对之处还请指出. [目前几种布局] 随着移动互联网的发展和微信的突起,移动端的响应式布局越来越重要了. 目前网站布局有以下几种: 1.定宽度布局 很多pc的网站都是定宽度布局的,也就是设置了min-width, 这样一来,如果小于这个宽度就会出现滚动条, 如果大于这个宽度则内容居中外加背景, 这种设计常见与pc端. 2.响应式布局 所谓响应式布局就是流式布局+媒体查询, 流式布局用来解决不同宽度的布局问题, 外加媒体查询,可以调整布局,例如大屏幕是布局1,小屏幕是布局2, 这种布局通