• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >心得技巧 > 页面重构技能-Javascript、CSS篇

页面重构技能-Javascript、CSS篇

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含Javascript,CSS篇等相关知识,佚名 希望在学习及工作中可以帮助到您

About JS、CSS

CSS:

  1. 样式表置于顶部
  2. 避免CSS表达式
  3. 使用外部JS、CSS
  4. 削减JS、CSS
  5. <link> ,@import
  6. 避免滤镜

JS:

  1. 脚本置于底部
  2. 使用外部JS、CSS
  3. 削减JS、CSS
  4. 不用重复脚本
  5. 减少访问和操作DOM
  6. 事件委托

1、样式表置顶,Why?

浏览器渲染页面都是自上而下的渲染,当在<body>里遇到<link>或是<style>时候会阻塞渲染页面,而且也有可能会造成页面重绘,就好像格子铺里,东西都按顺序摆好了,但是老板说,这个东西得这样、那样摆,又得挨个重新摆了。除此之外,加在<head>里是为了可以顺序加载所需的样式。

2、避免CSS表达式,Why?

很多人包括我在内,当学习到CSS表达式时候,都说避免或不要用它,所以都偷懒的不用看了,包括JS里的eval一样……

后来有一次项目我就偏偏用了一次,结果。。。它成为了最后查出来的BUG。。。(IE6下影响了页面样式)

其实CSS表达式最主要的弊端是它影响性能,要知道CSS是具有时效性的,也就是说,当你修改一下样式,它会马上生效,

而改变窗口大小,滚动页面甚至移动鼠标都会触发表达式进行频繁的求值,会严重影响,所以要尽量避免。

3、使用外部JS、CSS,Why?

我们都知道使用外部文件会增加HTTP请求,但是由于缓存的关系,当用户再次访问时,或者访问其它页面里相同的文件时候,页面会明显提升响应速度,而且,还有一点好处就是外部JSS、CSS可以减少页面内的文档大小。

4、削减JS、CSS,Why?

这个不用说了……你说为什么?

5、用<link>,@import,Why?

先来看看两者区别:

区别1:老祖宗的差别。@import完全是CSS提供的一种方式,link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。

区别2:加载顺序的差别。link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。

区别3:兼容性的差别。link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。

区别4:使用dom控制样式时的差别。link支持使用Javascript控制DOM去改变样式;而@import不支持。

两者比较,@import明显弱爆了……

6、避免使用滤镜,Why?

IE独有属性AlphaImageLoader用于修正7.0以下版本中显示PNG图片的半透明效果。这个滤镜的问题在于浏览器加载图片时它会终止内容的呈现并且冻结浏览器。在每一个元素(不仅仅是图片)它都会运算一次,增加了内存开支,因此它的问题是多方面的。
完全避免使用AlphaImageLoader的最好方法就是使用PNG8格式来代替,这种格式能在IE中很好地工作。如果你确实需要使用AlphaImageLoader,请使用下划线_filter又使之对IE7以上版本的用户无效。

7、脚本置于底部,Why?

脚本的问题就是当浏览器渲染时候遇到<script>,就会跑去下载,然后执行里面的JS,这期间页面就会阻塞,等待完事了再继续向下执行。所以,为了先将页面最快的呈现给用户,JS应放在</body>的上面。

8、减少访问、操作DOM,Why?

访问:在《高性能JavaScript》中这么比喻:“把DOM看成一个岛屿,把JS看成另一个岛屿,两者之间以一座收费桥连接”。

操作:修改和访问DOM元素会造成页面的Repaint和Reflow,也就是重绘和回流。

所以问题显而易见。

解决方案:缓存已经访问过的有关元素

       更新完节点之后再将它们一次性添加到文档树中

9、事件委托,Why?

事件委托,也就是利用事件冒泡的机制,把事件绑定到元素对象的父元素上。

例如:一个多行的表格,含有经过提示行效果,并且表格会随着分页经行变化。

分析:鉴于上面的第7条,我们不能牺牲性能去为每个变化的行元素绑定事件。

解决方案:把事件绑定到table的父元素上,根据e.target(e.secElement)的节点类型判断来进行操作

您可能想查找下面的文章:

  • 浅谈JavaScript中浏览器兼容的问题
  • 页面重构技能-Javascript、CSS篇
  • 整理了12款Javascript 表格控件(DataGrid)
  • 整理了12款Javascript 表格控件(DataGrid)
  • Javascript 树形菜单 (11个)
  • 9款很棒的网页绘制图表JavaScript框架脚本
  • DOM编程艺术第二章
  • JavaScript利用URL向后台传入中文参数乱码问题解决之道

相关文章

  • 2018-08-23这5个牢不可破的设计规则,是你打造优秀动效的标准
  • 2018-08-23列表和网格,哪个更适合你的APP设计?
  • 2018-08-23设计风格虽然多,学会高手这两招就行!
  • 2017-08-06关于音乐播放App(应用软件)的分析与重设计 如何设计出漂亮的音乐播放界面
  • 2018-08-23三款思源宋体改造繁体版免费下载+MacOS GUI素材打包
  • 2018-08-23内容迁移到移动端时,用户体验优化的7个关键点
  • 2017-08-06限制input输入类型(多种方法实现)
  • 2018-08-23如何学习Low Poly Style?来看这篇超全面的总结!
  • 2018-08-23天猫设计师:互联网职场“向上管理”的4个心得
  • 2018-08-23设计师如何在智能化时代持续学习和成长?来看高手的方法!

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 视觉设计师成长的三个阶段小结
    • Google对话式交互规范指南(九):对话中不存在“错误”
    • 看过那么多UI 配色指南,这篇可能是最全面的(附大量实例)
    • 为什么你的APP总是不耐看?
    • HTML页面编写的点点感受小结
    • 为什么几个人的小团队更加高效更加靠谱?
    • 一个针对女性用户的照片编辑软件,要如何设计UI?
    • 看完转系列!甲方虐稿指南+设计师生存法则
    • 绝对干货!UI设计师最需要了解的设计工作流程
    • img 半透明 处理img加半透明背景实现思路及代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有