用纯js就可以写一个网页!为什么还要用html和css,为什么不把html及css舍去??有这发展

html-css019

用纯js就可以写一个网页!为什么还要用html和css,为什么不把html及css舍去??有这发展,第1张

很多学生在学习JS的时候都有这个疑问,为什么不抛弃css它们直接用JavaScript开发呢?

首先要确定,即使抛开游戏不论,一般的Web应用或者网站,完全用JavaScript开发也是可行的。比如ExtJS、webOS的Enyo等。但是主流Web开发很少采用全JS的方案。原因大体有以下几点:

1. 注重考虑那些无法运行JS的用户代理。

用户使用不支持JS的浏览器(比如较老的手机浏览器),或者禁用脚本。当然你可以选择忽略这一小撮用户,尤其是现在绝大多数网站和应用也是如此选择的,但是至少我们应该对坚持考虑无JS情况的开发者予以基本的尊重。此外,如 Mobile Transcoder或某些手机浏览器的“极速模式”是基于服务器端对网页的解析和重组,是否能支持JS很够呛。

更重要的因素是SEO friendly。如果是全JS生成的网页,搜索引擎无法索引内容。这一点对于许多网站是性命攸关的。

2. 注重HTML/CSS本身的优点。

诚然JS本身也可以通过精心设计的框架和库来实现分离等所有HTML/CSS模型的优点。但是存在许多不确定因素:

1) 有足够好的框架和库吗?

2) 框架和库给出的抽象模型和HTML/CSS模型的阻抗是否匹配?

3.注重性能。

最终Web应用、页面是在浏览器中执行,而浏览器完全是按照HTML/CSS所设计。抛开Canvas不论,纯JS的实现最终还是要生成DOM。从性能的角度看,纯JS生成DOM自然赶不上直接的markup。同样的道理,就算用CSS预处理器也都会在部署时预先编译——尽管在运行时可以做出更牛逼的特性(然而实际上目前我不知道有任何CSS预处理器干了这样的事情——因为它们都是按照预编译的场景设计的),再如HTML/CSS是按照渐进显示优化的(页面不用全下载完就可以看部分),而纯JS的架构没有精心设计是很难做到的(比如json数据全部下载完你才能parse,数据才可用,DOM才能生成)。

现在想要学习Web前端,好的专业培训机构也很多的。例如北大青鸟、南京课工场、南京中博软件学院等等,你可以试听一下课程参考一下。

      移动端开发过程中,前端在请求后台的数据时,为了用户体验更加完善,通常需要分页请求,在点击展开时以往我常常喜欢直接将数据全部加载,给用户的体验以及页面效果非常不好,点击收起时也是如此,为了提升用户体验以及页面美观,我们可以采用css3中的transition在交互中使用渐进动画。demo如下:

演示实例如下图所示:

在具体的项目运用过程中只需要给id为more的div一个高度,具体高度根据页面情况而定,当然有很多不同的方式来达到交互效果,对css动画不是很了解,采用了一种最简单的方式,欢迎各位大神指教。