0
点赞
收藏
分享

微信扫一扫

响应式和自适应布局的区别


自适应:自己根据屏幕宽度的改变而改变(典型的写法不需要media判断,直接让每个元素通过相对的宽度,比如百分比vhem 、rem等来改变容器的大小,文字的大小)

响应式:根据设备的不同而展示不同的效果(典型的写法就是通过media判断,在不同的设备、分辨率下展示不同的页面效果)

下面再从直观一点的来看,响应式和自适应的区别: 

首先两种方式解决问题的是不一样的。 


自适应是为了解决如何才能在不同大小的设备上呈现同样的网页手机的屏幕比较小,宽度通常在600像素以下;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是1366×768),有的还达到了2000像素。同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,并不是一件容易的事。 


很多网站的解决方法,是为不同的设备提供不同的网页,比如专门提供一个mobile版本,或者iPhone / iPad版本。这样做固然保证了效果,但是比较麻烦,同时要维护好几个版本,而且如果一个网站有多个portal(入口),会大大增加架构设计的复杂度。 


于是,很早就有人设想,能不能"一次设计,普遍适用",让同一张网页自动适应不同大小的屏幕,根据屏幕宽度,自动调整网页内容大小但是无论怎样,他们主体的内容和布局是没有变的。 即,后来的响应式

响应式布局的一些技术点纪录:

(1)允许网页的宽度自动的调整

(2)尽量少使用绝对的宽度,多点百分比

(3)相对大小的字体:字体不要使用px写死,最好使用相对大小的em,或者高清方案rem,这个不限制与字体,别的属性也可以这么设置

(4)流式布局,float等float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。

(5)选择加载css,<link rel="stylesheet" type="text/css" media="screen and (max-device-width: 400px)" href="tinyScreen.css" />,这个意思是如果屏幕宽度小于400像素(max-device-width: 400px),就加载tinyScreen.css文件。

但是无论怎样,他们主体的内容和布局是没有变的。

响应式的概念应该覆盖了自适应,而且涵盖的内容更多。 

自适应还是暴露出一个问题,如果屏幕太小,即使网页能够根据屏幕大小进行适配,但是会感觉在小屏幕上查看,内容过于拥挤,响应式正是为了解决这个问题而衍生出来的概念。它可以自动识别屏幕宽度、并做出相应调整的网页设计,布局和展示的内容可能会有所变动。例如有六张图片,屏幕宽度大于1300像素,则6张图片并排在一行。如果屏幕宽度在600像素到1300像素之间,则6张图片分成两行。如果屏幕宽度在400像素到600像素之间,则导航栏移到网页头部。如果屏幕宽度在400像素以下,则6张图片分成三行。mediaqueri.es上面有很多多这样的例子。

举报

相关推荐

0 条评论