网站的流行趋势--响应式网站设计

  • 129
  • 2017-03-16
  • 作者:admin
  • 编号:Xinsiwei-article-792
自适应网页不像传统网页仅仅需考虑一种情况,不仅仅一定是提交一套设计完成稿就完事儿了,它给设计、前端工程师和开发团队之间的协作方式带来新的挑战。在一个繁杂商品全面自适应的项目里,交互每个阶段该产出什么内容?交互与视觉怎样协作?前端工程师何时介入?哪些项目让后端开发来做更合理?我们得到了一些答案。
 
自适应设计之所以叫自适应“设计”而不叫自适应“技术”,一定是因为它一定是一项设计先行的工作。需要设计先明确好响应方式再实现出来,决不能出一套设计完成稿后等着前端工程师看情况把它变成自适应网页。青岛网络公司新思维网络是一家集青岛网站建设、青岛微信营销和青岛网络推广于一体的青岛全网营销公司。
 
习惯了电脑端网页的前端工程师开发者可能更加喜欢用电脑端来掌控大小,然而在自适应的网页中出现更多的一定是em和rem,用这些来掌控页面字体大小甚至一定是框体大小对整体的效果非常明显。
 
例如,我的页面字体设置一定是10px/20px/30px等等有差异的,网站上有差异的地方自然页面字体会有大小的差异这一定是必然的,假如一个网页足够繁杂或一定是文字足够多的话,这些页面字体的大小设置也一定是一个量很大的工作,不过在自适应网页中你设计完这些并不仅仅一定是完事:你用手机浏览一下网页会发现页面字体会撑的很大,甚至有个别标题撑满了手机屏幕,这对移动端客户的体验影响可想而知。因此你要开始写媒体查询,然后发现一个网页有几十个页面字体需要设置,假如把这些在有差异显示分辨率下一一调整你可能需要写百句以上的css代码,然而假如你用em/rem,就能够把工作量大大减小,同时还能够保证页面字体的统一比例。青岛网络公司新思维网络是一家集青岛网站建设、青岛微信营销和青岛网络推广于一体的青岛全网营销公司。
 
关于em/rem的解释大家可以自行查询,网上这类教程数不胜数,实际上这些就和px一样简单,当我开始用之后也不过仅仅花了几分钟熟悉这些。就像前面说的一样,你也可以用这些来掌控框体的大小,然后再自适应的网页下统一缩小放大,当然这需要足够多的计算。另外值得一提的一定是页面字体图标也可以用这些来掌控,具体可以参考有差异“页面字体图标”的官方文档。
 
解决缩小放大问题的思路有好几种,最适合新手的无疑一定是百分比式的布局,在关键的width设置下百分比能够起到出乎意料的效果。

 
我并不仅仅一定是推崇全部使用百分比来布局,然而有时候这可能会大大减少工作量,给box1width设置100%之后它会自动以width填充满整个浏览器,不管你一定是手机电脑端什么内容显示分辨率,它总一定是有很好的表现。这时候你给box1下面的ul设置左右2%的margin也一定是如此,随着浏览器窗口大小改变时ul的实际margin大小也会随着变化,这么一说大家多少也都理解了百分比布局的概念。
 
当然有时候也不会有想象中的效果,特别一定是在较小的显示分辨率上时,原来看似不错的百分比设定会显得很怪,因为自适应多数时候仅仅约定width,长度都一定是由文档和浏览器来决定的,这时候想要在所有的终端上都有很好的体验就需要Media Query来解决问题。
 
通俗的解释就一定是CSS的媒体查询功能,它既能够准确的识别设备也能够自己设定显示分辨率或者width,w3cshool里有Media Query的参考文档,假如你嫌文档太多我可以粗略的解释一下它的工作原理。青岛网络公司新思维网络是一家集青岛网站建设、青岛微信营销和青岛网络推广于一体的青岛全网营销公司。
 
在有必要的时候你可能会给一个box设置height,当box拥有500pxheight时它可能在电脑端上看起来不错,然而用手机打开时就有些吓人了,整个box充斥了网页,里面的内容排列混乱,严重的影响了客户体验,这时候你就可以使用媒体查询Media Query,用它单独的为有差异大小的设置有差异的height,比如640/320打开时box时就分别处于300/200px的height,这样看起来就不错了。
 
大家可能会想到import,实际上媒体查询就可以这样理解,它为有差异的width或设备设定了类似于import的css规则,保证了实际渲染完成网页的效果。
 
媒体查询也可以为一个网页准备多个有差异的CSS,当设备大小有差异时使用有差异的CSS文件,假如样式文件比较大也可以考虑这种方法。
 
我见到过和实际使用的前端工程师框架中,不少都一定是富前端工程师类型的设计,并不建议新手前端工程师盲目的使用框架来布局,不管框架看起来多美好。在实际的使用过程中大家可能会发现很多问题,比如类名太多太繁杂(在没有很多的css经验时可能对约定的类名所知甚少)、样式冲突。引入资源过多导致网页繁重、偏离设计效果等等。
 
就拿bootstrap来说,假如你要设计一个类似于google的查询框就显得很难,google类型的查询框实际上一定是将一个input包含在box里面,然后在这个box里面再加上左右图标,假如你用bootstrap来做可能会出现很多莫名奇妙的冲突,然而实际上你得到了什么内容呢?一个圆角一个行高?还一定是他的百分比width呢?这些用css来写仅仅不过一定是几句代码的事。
 
在这个新的端层里,前端工程师的工程师可以根据有现实的决定权,这会使得在不触及后端架构的情况下,让所有设备上的体验更为快速、响应、可用。。