响应WEB概念在移动互联网兴起的初期,的确很火,它主要解决原PC网站样式向移动端过渡的问题,以一套前端代码适配PC、手机和其他显示设备,以较小的代价实现网站产品的多维呈现。
我个人作为勉强的全栈,曾经选用过最热的Bootstrap前端框架,开发过一些web应用。虽然后来,随着移动端越来越成为重点实现方向,感到响应式网站设计,并不能为移动网站带来优良的体验和高开发效率,至少在我近几年的项目中,面向移动端,已经完全放弃了响应式开发方法,采用了更纯粹的移动前端框架,以适应不仅是web,还有APP、小程序的前端需求。
但是,并不能说响应式web设计落伍了,没用了。根据项目特点,人员技术力量,选用最适合的方法,做最优秀的实现,是开发的实践准则。
下面,围绕实战开发响应web的大致方法、流行的框架工具介绍、响应式的优缺点总结,展开一些叙述和讨论。
什么是响应式网站设计?响应式网页设计 Responsive Web Design,从开发角度上讲,就是使网页能通过识别屏幕宽度、做出相应调整的网页设计,它面向的设备是超宽屏幕、pc显示器、平板电脑、手机。这里面大家很容易忽视超宽屏幕的设计,因为很多开发者为了简化设计,往往在针对超宽屏幕只做居中处理。
实现原理
通过css样式语言,有时候也会结合一些javascript,考量屏幕宽度,自动调整网页显示和布局,以适应不同尺寸屏幕的浏览优化体验。
实现目标
最好的响应式设计,就是设计者开发出一套全端网页,为电脑、手机、平板等不同终端的用户提供更加舒适的界面和更好的交互体验,比如手机端的触摸和PC端鼠标操作效果。而且随着目前大屏幕移动设备的普及,响应式开发方法还是有自己独特的优势。
响应式网站开发方法布局
在构建响应式网站或改造旧网站成为响应式结构时,首先要考虑的就是布局。
主要是两部分页面元素:
延展全屏宽的元素,比如我们在PC贯穿全屏宽的元素,css: width:100%;
主内容块的最大宽度定义,以下定义了4种常见分辨率的容器最大宽度;
@media (min-width: 576px) {
.container { max-width: 540px; }
}
@media (min-width: 768px) {
.container { max-width: 720px; }
}
@media (min-width: 992px) {
.container { max-width: 960px; }
}
@media (min-width: 1200px) {
.container { max-width: 1140px; }
}
媒体元素宽度定义
下面的CSS代码将确保图片永远不会比其父容器大:
img { max-width: 100%; height: auto; }
或者根据设备的分辨率不同,需要显示不同size的图片:
<img src=" image.jpg" alt="" data-src-600px=" image-600px.jpg" data-src-800px =" image-800px.jpg" />
这种弹性显示媒体的方式,需要借助CSS或JS的方式实现。
版式(Typography)定义
这是响应式设计中最重要的部分,有很多响应式设计的排版方式需要注意,比如:
CSS3规范中包含了一个定义尺寸的元素rem。它的工作原理与em几乎相同,但是rem的大小相对于html元素而言,这使得rem比em更容易使用。
html { font-size:100%; }
通过以下CSS代码可以定义不同分辨率下的相对字体大小。
@media (min-width: 640px) { body {font-size:1rem;} }
@media (min-width:960px) { body {font-size:1.2rem;} }
@media (min-width:1100px) { body {font-size:1.5rem;} }
最流行的响应式框架使用前端框架可以提高前端开发的效率。通常框架已经为开发者搭好了脚手架,只需要在上面累加我们的特殊需求就可以了,这帮助码农减少编码工作量,并节省了宝贵的时间。
当前有各种各样的响应框架可用,并且新仍在不停的进化更新。在众多选择中,选择适合的框架是很困难的。下面列举了几个最流行的响应框架。
Bootstrap
Bootstrap是国内最流行、最快速、最友好的框架。这个框架是2011年由Twitter的开发者创建的。目前,整个网络上有数百万的网站都在运行这个神奇的框架。在GitHub他的追捧数量已经超过了100多K。
Bootstrap包括了HTML、CSS和JavaScript。你可以轻松地开发各种规模和复杂度的响应式网站。
Foundation
Foundation是一个企业级的前端框架。FaceBook、eBay、Mozilla、Adobe、HP、思科、迪士尼等都在他们的网站上使用这个框架。
它相当复杂,不适合新手使用。Foundation具有可读性、灵活性、语义性和完全可定制性。Foundation自带GPU加速功能,可实现闪电般的快速和流畅的动画效果。它提供了Fastclick.js,可在移动设备上快速渲染。
Pure
非常轻的一个框架。该框架包含响应式CSS模块,是为迎合移动市场而开发的。开发人员可以使用各种样式、CSS模块以及组件和可定制的工具来开发网站。
Semantic UI
SemanticUI是相对较新的框架,但它在很多方面都很突出。它已经成为非常流行的前端框架之一。它使用的是自然语言。
Semantic的性能记录功能让你可以追踪到代码的瓶颈,而无需深挖堆栈痕迹。使用Semantic,直观的底层之上可以配备一个高级主题变量,让您有充分的设计自由度。
Semantic UI集成了大量的第三方库。因此整个开发过程会更容易一些。
响应设计的优点
响应式方式可以在台式机,平板电脑或智能手机上构建流畅运行的web样式设计 。它的实质是一种适配性的编码设计,它具备很多优点:
开发维护一套前端响应式代码,可以适配多种显示设备。只需要拥有一个入口网址,无须通过脚本,判断浏览设备而重定向访问,更不需要配置二级域名。简化SEO(搜索引擎优化),响应式设计,无需为移动版本创建特定的内容,这对SEO友好的。搜索引擎收录的只是内容,而对网页语言代码毫无兴趣。因此,谷歌百度在一段时期还建议优先考虑响应式设计。有可能会节约开发成本?这一点我自己也很有疑惑,我个人认为如果是仅仅适配显示的话,响应式设计的确可以节约成本,但精致的移动端交互设计,还是纯移动框架最受用。简化网站推广数据分析,无论来自什么入口,都一网打尽所有访问数据。响应设计的缺点
尽管响应式设计有很多优点,那么缺点应该被忽略吗?事实并非如此。响应式网页设计有一些需要注意的缺点。为了在一套体系框架下,去做各分辨率下的大小显示适配、内容取舍,那种煎熬你体验过吗?
某些响应式网站的加载时间会更长。因为将加载一些不必要的HTML / CSS。例如,很多响应站点上的图像只是在视觉上按比例缩小,而没有采用媒体内容的弹性加载策略。
耗时的开发。对于响应式网站而言,这是一项耗时的任务。如果您打算将现有网站转换为响应式网站,则可能需要更多时间。
响应式Web设计的流体布局,使设计人员难以很好地控制设计风格。设计人员正在尝试分别针对移动和桌面布局显示线框和设计原型。只有改进了这两种布局,才能真正实现响应式Web设计策略。
UX(用户体验)不佳。通过响应设计,您想要同时满足台式机和移动用户的需求。但是,移动设备和台式机毕竟是完全不同的用户体验。因此,有很大风险可能同时失去两类用户。需要承受内容的取舍。排版的需要、推广策略的不同、体验的差异,造成移动版本的内容很可能与桌面版本的内容不一致。因此,采用响应式设计不可能使您的内容适应这些设备中的每一个,那么在一个页面里用技术实现这种取舍,是很痛苦的。写在最后选择了开发,终会有学不动的那天,对于前端、后端、运维、全栈,都是一样。某项技术熟练了,我们总希望它的生命周期长一点。如果有一天,对新技术的那种兴奋感不再有的时候,做一个方向的了解者规划者也是不错的。
希望所有Coder身体健康,永远快乐。
去年11月刚好建立了属于自己的第一个网站,从域名的申请到网站结构的搭建、文章的上、流量的监控,后来还帮助一个老乡搭建了网站。算得上有一定的经验吧!下面跟大家分享一下我的第一次建站经验吧! 1、建站前...
我是新网的代理,例如:新网的代理就是可以在新网那里拿到价格稍低一点的价格,然后卖给客户是新网的市场价或稍低一点的价格.举个例子说吧,一个客户想要一个.COM的域名,我卖给客户是100块一个域名,因为我...
企业管理软件开发的方式企业管理软件有很多分类,要做企业管理软件的开发并不是件容易的事情,一般情况下做企业自己的管理软件有三个途径:自己开发:也就是说让自己IT部门根据企业的实际状况开发相应的软件系统外...
做一个网站还是需要很多东西要掌握的。我把整个过程梳理一下。 需求分析对你网站的定位做分析,你的网站具体要呈现什么东西,是什么类型的?电商?内容性资讯性的?社交? 产品原型设计需求分析做完以后,开始针对...
我来发表一下我的看法和想法 现在时代在不断变化,游戏也顺应潮流,需要革新,游戏的玩法规则,界面,效果,故事线等,都需要改变,才能适应年轻人的口味。二次元和棋牌游戏融合的内容,由此可见,这将是一种潮流...
域名解析如果要设置到非80端口,就需要使用隐藏的域名转发。 域名解析时不识别端口的,其实就是将域名与这个IP地址绑定了,然后 若你这两个网站都在192.168.1.1上边的话,你只需要将两...
网站备案,如果你是购买了国内阿里云国内主机空间或阿里云服务器,首先到阿里云官网注册个帐户,这个帐号注册完登陆进去选择提交网站备案进入,进入备案的提交界面进行备案的提交申请。 提交的备案资料主要有:域名...
你没有贴出你的域名,没办法做测试。 1. 从你提供的第 2 张截图来看,访问网站提示没有权限访问。 从你提供的第 3 张截图来看,你的程序防止在了 htdocs 目录下的 wordpress 目录下,...