发表于: 2018-06-03 22:18:13

1 597


一、今日完成的情况

1、完成任务十四-十五,并提交审核,查看深度思考。

2、准备明天小课堂演示要用的demo,从固定布局到bootstrap布局,做好了五个demo,还剩一个demo未完成,明早继续准备。

                

二、明天的计划

1、深度思考较多问题,今天没整理完,明天继续,同时对CSS任务十四-十五进行总结,并更新到wiki档案中;

2、讲小课堂,上传小课堂PPT、视频和文章

三、遇到的问题

暂未遇到疑难问题。

四、收获

   1、深度思考:为什么要做组件库?

传统开发方式效率低以及维护成本高的主要原因在于很多时候是将一个系统做成了整块应用,而且往往随着业务的增长或者变更,系统的复杂度会呈现指数级的增长,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。而组件化开发可以减少页面开发成本,提高页面的可维护性和拓展性。

   2、深度思考:目前流行的组件库有哪些?css,js各有哪些流行的库?

(1)React、Vue、Angular、Bootstrap、jQuery UI、BootMetro 、QUICK UI 、AUI等等,下面简单例举几种。

(2)Bootstrap是最流行的前端开发框架,可以让不是前端工程师也能开发出优美的页面,更加快捷、方便的开发web页面和移动端应用。也能开发响应式web页面,上手也非常快

(3)React 是Facebook 开发的框架,用于构建页面、javascript库。主要功能是对DOM操作,声明式设计,更快的开发出web应用系统

(4)Semantic UI是一个完全语义化的前端CSS界面开发框架,跟 Bootstrap 比起来更加丰富些,不那么单一,在用户体验、样式都很丰富。

(5)Foundation by ZURB是开发适应各种设备上的前端框架,主要开发响应式web应用框架,提供很丰富的DEMO实例,学起来也非常方便上手,也提供丰富的图标库。

(6)Amaze UI是轻量级的前端应用框架,是国内比较流行的框架,比较适用于移动端响应式开发框架,可以按照项目要求生成专属的UI框架库进行使用,组件非常丰富,可以构建出漂亮的web页面。

   3、深度思考:Quirks模式是什么?它和Standards模式有什么区别?

(1)从IE6开始,引入了Standards模式,标准模式中,浏览器尝试给符合标准的文档在规范上的正确处理达到在指定浏览器中的程度。在IE6之前CSS还不够成熟,所以IE5等之前的浏览器对CSS的支持很差, IE6将对CSS提供更好的支持,然而这时的问题就来了,因为有很多页面是基于旧的布局方式写的,而如果IE6 支持CSS则将令这些页面显示不正常,如何在即保证不破坏现有页面,又提供新的渲染机制呢?在写程序时我们也会经常遇到这样的问题,如何保证原来的接口不变,又提供更强大的功能,尤其是新功能不兼容旧功能时。遇到这种问题时的一个常见做法是增加参数和分支,即当某个参数为真时,我们就使用新功能,而如果这个参数 不为真时,就使用旧功能,这样就能不破坏原有的程序,又提供新功能。IE6也是类似这样做的,它将DTD当成了这个“参数”,因为以前的页面大家都不会去写DTD,所以IE6就假定 如果写了DTD,就意味着这个页面将采用对CSS支持更好的布局,而如果没有,则采用兼容之前的布局方式。这就是Quirks模式(怪癖模式,诡异模式,怪异模式)。

(2)区别:1>.总体会有布局、样式解析和脚本执行三个方面的区别。2>.盒模型:在W3C标准中,如果设置一个元素的宽度和高度,指的是元素内容的宽度和高度,而在Quirks 模式下,IE的宽度和高度还包含了padding和border。3>.设置行内元素的高宽:在Standards模式下,给<span>等行内元素设置wdith和height都不会生效,而在quirks模式下,则会生效。。4>.设置百分比的高度:在standards模式下,一个元素的高度是由其包含的内容来决定的,如果父元素没有设置百分比的高度,子元素设置一个百分比的高度是无效的用margin:0 auto设置水平居中:使用margin:0 auto在standards模式下可以使元素水平居中,但在quirks模式下却会失效。

   4、深度思考:渐进增强和优雅降级之间有什么不同?

(1)定义:

   1>.渐进增强(progressive enhancement):针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。(从被所有浏览器支持的基本功能开始,逐步地添加那些只有新式浏览器才支持的功能,向页面添加无害于基础浏览器的额外样式和功能。当浏览器支持时,它们会自动地呈现出来并发挥作用。)。

   2>.优雅降级(graceful degradation):一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。(Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,针对不同版本的IE的hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效。)

(2)区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的、能够起作用的版本开始,并不断扩充,以适应未来环境的需要。

   5、深度思考:HTML5的离线储存怎么使用?

(1)概念:在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件。

(2)原理:HTML5的离线存储是基于一个新建的.appcache文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示。

(3)使用方法:

   1>.页面头部像下面一样加入一个manifest的属性;

   2>.在cache.manifest文件的编写离线存储的资源;

   3>.在离线状态时,操作window.applicationCache进行需求实现。






任务进度:

任务十四和十五

任务开始时间:

2018.5.29

任务完成时间:

2018.6.3

禅道:http://task.ptteng.com/zentao/project-task-714.html



返回列表 返回列表
评论

    分享到