0.引言

响应式web设计的作用主要使网页能在不同小大的显示窗口下依然优雅。当前的显示窗口有pc,ipad,iphone以及一些其他的设备。不同的显示窗口的分辨率各不相同,如何在不同的分辨率的情况下使网页依然显示良好呢?

1.流式布局

应对不同窗口大小的最简单的方案就是做一个等比缩放布局。根据不同的窗口大小实现不同的缩放比例。创建等比缩放布局相对简单,就是通过设置显示栏的宽度值为百分比而非固定的像素值。注意点:边框不接受百分比作为单位,但是边框会增加元素的宽度,在页面缩小的过程中可能会出现破坏页面布局的情况。CSS3的解决方案1::设置box-sizing: border-box,这边元素的边框就会位于盒子的内侧,不会增加盒子的宽度;2:使用calc()函数,动态设置width的值,如calc(62%-5px);

1.1 流式图片

图片占用的空间取决于图像有多少像素组成,在窗口变化的情况下,图片可能会出现显示不全,或者破坏页面布局的情况。解决的方案是设置图片的max-width:100%。这样图片就会根据当前窗口的大小进行缩放。

1.2文字内容

%和em的结果相同都会使文字相对于默认的文字大小缩放。em是相对其父级元素的字体大小,如父级元素的字体大小为1.2em,子元素的font-size:2em,此时子元素的大小实际上是1.2*2=2.4em。当前元素的其他值设置x em单位,其实际大小为当前元素的font-size的大小乘x。CSS3引进了rem (rootem),使rem单位的大小仅相对于根元素HTML的大小。

2.移动优先设计

流式布局的页面通过缩放在移动端依然不能显示友好,如在pc端的多栏在移动端依然显示多栏,则显得过于拥挤。这时就得考虑移动优先布局或者在移动端和pc端分别使用不同的布局文件。媒体查询主要是根据不同的窗口使用不同的样式。

@media(条件值){CSS样式}

浏览器会自动判断条件值,当条件值为真时,才会渲染{CSS样式}。

<link  rel = ‘stylesheet’  media =’(max-width:568px)’  href = ‘*.css’>根据媒体查询选择样式文件。

2.1 移动端布局

<meta  name = ‘viewport’  content = ‘initial-scale=1.0’>

<meta  name = ‘viewport’ content =’width=device-width’>

这两条设置结果相同都是告诉移动端浏览器不要对页面进行默认的缩放。但这两者各有一个小缺陷,就是iphone、ipad以及IE 会横竖屏不分,通通以竖屏的ideal viewport宽度准。所以,最完美的写法应该是,两者都写上去,这样就initial-scale=1 解决了 iphone、ipad的毛病,width=device-width则解决了IE的毛病。

<meta name=’viewport’  content=’width=device-width, initial-scale=1.0’>

viewport是有apple提出来的用于移动端自动缩放页面的技术,目的是使pc端的网页能完整地显示在移动浏览器端。

揭秘响应式web设计的更多相关文章

  1. 响应式WEB设计的9项基本原则

    响 应式Web设计对于解决多类型屏幕问题来说是个不错方案,但从印刷的角度来看,其却存在着很多的困难.没有固定的页面尺寸.没有毫米或英寸,没有任何物理 限制,让人感到无从下手.随着建立网站可用的各种小工 ...

  2. 最佳的 14 个免费的响应式 Web 设计测试工具

    一旦你决定要搭建一个网站就应该已经制定了设计标准.你认为下一步该做什么呢?测试!我使用“测试”这个词来检测你网站对不同屏幕和浏览器尺寸的响应情况.测试在响应式网页设计的过程中是很重要的一步.如果你明白 ...

  3. <HTML5和CSS3响应式WEB设计指南>译者序

    "不是我不明白,这世界变化快."崔健的这首歌使用在互联网领域最合适不过.只短短数年的功夫,互联网的浪潮还没过去,移动互联网的时代已经来临.人们已经习惯将越来越多的时间花在各种移动设 ...

  4. 如何通过CSS3 实现响应式Web设计

    如何通过CSS3 实现响应式Web设计: 分为三个步骤:(1)允许网页宽度自动调整.首先在页面头部中,我们需要加入这样一行:<meta name="viewport" con ...

  5. [转]响应式WEB设计学习(1)—判断屏幕尺寸及百分比的使用

    原文地址:http://www.jb51.net/web/70360.html 现在移动设备越来越普及,用户使用智能手机.pad上网页越来越普遍.但是传统的fix型的页面在移动终端上无法很好的显示.因 ...

  6. css014 响应式web设计

    css014 响应式web设计 一.    响应式web设计基础知识 1.rwd的三大理念:a.用于布局的弹性网络, b.用于图片和视频的弹性媒体,c.为不同屏幕宽度创建的不同样式的css媒体查询. ...

  7. CSS3-基于浮动的布局,响应式WEB设计,定位网页上的元素,设计打印页面的css技术

    基于浮动的布局: 1.除非图片设置了宽度,否则始终应该要对浮动的图片设置一个宽度,这样可以让浏览器给其他内容腾出环绕的空间 2.当侧边栏的高度与主内容区的高度不一致的时候,可以用个margin进行调整 ...

  8. 推荐35个新鲜出炉的响应式 Web 设计实例

    响应式设计的准则在于根据用户使用的屏幕的分辨率来改变网站的的布局.因此,视频或图像的大小和文本的数量,可以被视为是一个明显的变化.让你即使从智能手机浏览一个网站的时候能轻松地看到网站上的重要内容.今天 ...

  9. 响应式Web设计(Responsive Web design)

    中文名 响应式Web设计 提出时间 2010年5月 英    文 Responsive Web design 解    释 一个网站能够兼容多个终端 目    的 解决移动互联网的浏览 优    点 ...

随机推荐

  1. vue父组件中修改子组件样式

    1. 使用全局样式 <style> /* 全局样式 */ </style> <style scoped> /* 本地样式 */ </style> 2. ...

  2. function(data)

    转:http://blog.csdn.net/lixld/article/details/12206367 之前用了$.post()已经很久了,可是从来没有好好研究过这里的data对象,今天好好总结下 ...

  3. 旋转数组 [ LeetCode ]

    原题地址:https://leetcode-cn.com/problems/rotate-array/description/ 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. ...

  4. 在Servlet中出现一个输出中文乱码的问题

     添加:reqeust.setCharacterEncoding("utf-8");

  5. 如何根据pom.xml文件下载jar包

    遇到过这种情况:从网上下载了一个项目, 使用的maven, 但是我想要新建一个项目, 但是不需要使用maven. 但是我怎么样才能将他那个项目的所有引用的jar包给下载下载下来呢; 1.下载一个mav ...

  6. 【poj3415-Common Substrings】sam子串计数

    题意:  给出两个串,问这两个串的所有的子串中(重复出现的,只要是位置不同就算两个子串),长度大于等于k的公共子串有多少个. 题解: 这题好像大神们都用后缀数组做..然而我在sam的题表上看到这题,做 ...

  7. 51nod 1020 逆序排列——dp

    在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序.一个排列中逆序的总数就称为这个排列的逆序数. 如2 4 3 1中,2 1,4 3,4 1,3 1是逆序 ...

  8. 1210笔记//关于导航实例-QQ空间//导航实例-storyboard实现//控制器的生命周期//控制器的生命周期方法

      一.利用storyboard完成导航1.storyboard中用来跳转的每一根线 都是 一个 UIStoryboardSegue对象1> 自动跳转 (从 某个按钮 拖线到 下一个目的控制器) ...

  9. swift中_的用法,忽略默认参数名。

    swift中默认参数名除了第一个之外,其他的默认是不忽略的,但是如果在参数的名字前面加上_,就可以忽略这个参数名了,虽然有些麻烦,但是这种定义也挺好,而且不想知道名字或者不想让别人知道名字的或者不用让 ...

  10. java中 快捷键输入System.out.println();

    syso 然后:alt+ /(就是问号键)