前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web开发之CSS

Web开发之CSS

作者头像
八哥
发布2018-01-18 16:45:13
6000
发布2018-01-18 16:45:13
举报
文章被收录于专栏:快乐八哥快乐八哥

  Web开发,除了后台开发和数据开发,很大一块是前端开发。前端开发中使用最大的技术是:HTML(现在也有项目开始使用HTML5了,比如沪江英语的听力曲线使用html5 canvas绘制的),CSS(这个也有一个新版本,CSS3.0。很多应用出现圆角效果,估计都使用到了3.0的新特性),Javascript(其实这个也有版本的哦!盛大的权一大师就在研究ECMAScript5了),一个javascript框架,比如说jQuery,Dojo,YUI等等。

  主要讲解CSS性能调优,内容涉及一下几个方面。 1.Style标签的调优 2.特殊CSS样式的使用 3.CSS的缩写 4.CSS的声明(省略) 5.CSS的选择器 第一点:  把Stylesheets文件放在HTML页面的头部,把Javascript文件放在页面的底部。这也是《高性能网站开发》中的建议方法。对于 @import 和 <link> 两种加载外部 CSS 文件的方式:@import 就相当于是把 <link> 标签放在页面的底部,所以从优化性能的角度看,应该尽量避免使用 @import 命令。

第二点:  避免是有某一特定浏览器的技术的。比如IE支持的CSS Expression和AlphaImageLoader Filter。

第三点:  CSS的缩写。原来把 #FFFFFF写成#FFF也是可以减小代码量,提高性能的呀!在项目中PM经常会指导我们,把Font-style: italic; Font-variant: small-caps; Font-weight: bold; Font-size: 1em; Line-height: 140%; Font-family: sans-serif; 写成一行,font: italic small-caps bold 1em 140% sans-serief。不过这个对于熟练的工程师来说还好,但是对于初学者来说,这样的样式不够清晰易懂。因为我没有分析过浏览器解析和渲染样式的原理,写成一句是否真的有利于各个浏览器提供性能。我还是不敢肯定。

第四点:  CSS选择器。周祥老师给出了这个例子,让我大吃一惊。 示例一:Child Selector #toc > li {font-weight: bold} ,他说:浏览器是“从右往左”来分析 class 的,它的匹配规则是从右向左来进行匹配的。这里,浏览器首先会查找页面上所有的“li”节点,然后再去做进一步的判断:如果它的父节点的 id 为“toc”,则匹配成功。PS:不过我们项目基本不用这个样式,因为IE6不支持子代选择器。不过他在后面列举 示例二:Descendant selector #toc  li {font-weight: bold} ,这个效率比之前的“child selector”效率更慢,而且要慢很多。浏览器先便利所有的“li”节点,然后步步上溯其父节点,直到 DOM 结构的根节点(document),如果有某个节点的 id 为“toc”,则匹配成功,否则继续查找下一个“li”节点。不是吧!这个样式在我们开发的Web项目中用到的特别多呀!不过我们现在也逐步习惯一级一级的定位元素,减少浏览器在DOM结果查找的节点的时间。 如果一个标签有id,直接使用ID seletor,比如 <div id="footer"></div>,不要写 div#footer,查找效率很低。但是关于class选择器,我倒是觉得可以使用tag和class同时定位,有时需要这样的需要。      treehead treerow treecell {...} ----->> treehead > treerow > treecell {...} Descendant 选择器是耗时相对高的选择器,通常来讲,它在 CSS 里的使用应该是尽量避免的,如果能用 child 选择器替代就应该尽量这样去做。还是那个原因,IE6不支持,所以不使用这个。

同时推荐2本淘宝工程师翻译的书,确实不错。目前看完第一本,正在看第二本。作者是前Google Web工程师,翻译都是由口碑前端团队完成的。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011-09-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档