1.
十六进制的颜色值对位数与大小写
编写十六进制颜色值时你可能会用小写字母或省略成3位数,关于这写法没找到确实的数据证明对浏览器的渲染效率是否有影响,但十六进制的颜色值默认标准是大写及6位数标注。在未知情况下不希望冒险而降低了渲染的效率。
* 不赞成 - color:#f3a;
* 建议用 - color:#FF33AA;
2.
display与visibility的差异
他们用于设置或检索是否显示对象。display隐藏对象不保留物理空间,visibility为隐藏对象保留占据的物理空间。当浏览器渲染被占据的物理空间时,会有所消耗资源。
* 不赞成 - visibility:hidden;
* 建议用 - display:none;
3.
border:none;与border:0;的区别
和display与visibility的关系类似,分别不保留与保留空间。更多的是border:0;尽管可以隐藏掉边框,但它会为你保留border-color/border-style的使用权。
* 不赞成 - border:0;
* 建议用 - border:none;
4.
不宜过小的背景图片平铺
一张宽高1px的背景图片,虽然文件体积非常之小,但渲染宽高500px的板块需要重复平铺250000(贰拾伍万)次。提高背景图片渲染效率跟图片尺寸及体积有关,最大的图片文件体积保持约70KB。
* 不赞成 - 宽高8px以下的平铺背景图片
* 建议用 - 衡量适中体积及尺寸的背景图片
5.
IE的滤镜
IE的滤镜除了比较消耗资源外也有兼容性问题。当中有令PNG透明的滤镜,可采用GIF或JPG似透非透的办法来避免使用此滤镜。建议只在IE6应用GIF透明,因为IE7以上已经支持了PNG透明。
* 不赞成,滥用IE滤镜因为消耗资源外也有兼容性问题。
* 建议用,最好选择其它方法能避免使用滤镜。
6.
*{ margin:0; padding:0;}避免浏览器样式差异
*号通配符把所有标签都初始化一遍,浏览器的渲染消耗一定的资源。有部分在标签在不同浏览器上几乎无差异,或是某些已经不推荐使用的标签(因为你不会去用它),它们不需通配符要重新初始化一遍这样做能节省一点资源。
* 不赞成,使用*号通配符
* 不赞成,div span button b table等标签纳入通配符控制内外填充样式
* 建议用,有选择性地使用通配符控制内外填充样式。
7.
不要添加额外的标签来描述class或id
如果你有一个选择器是以id作为关键选择符,请不要添加多余标签名上去。因为ID是唯一的,你不要为了一个不存在的理由而降低了匹配的效率。
* 不赞成 - button#backButton { }
* 不赞成 - .menu-left #newMenuIcon { }
* 建议用 - #backButton { }
* 建议用 - #newMenuIcon { }
8.
尽量选择最特殊的类来存放选择器
降低系统效率的一个最大原因是我们在标签类中用了过多的选择符。通过添加 class 到元素,我们可以将类别进行再细分为 class 类,这样就不用为了一个标签浪费时间去匹配过多的选择符了。
* 不赞成 - treeitem[mailfolder="true"] > treerow > treecell { }
* 建议用 - .treecell-mailfolder { }
9.
避免子孙选择符
子孙选择符是CSS中最耗资源的选择符。他真的是非常的耗资源,尤其是在选择器使用标签类或通用类的时候。很多情况中,我们真正想要的是子选择符。除非有明确说明,在 UI CSS 中是严禁使用子孙选择符的。
* 不赞成 - treehead treerow treecell { }
* 好一点,但还是不行(参照下一条) - treehead > treerow > treecell { }
10.
标签类中不要包含子选择符
不要在标签类中使用子选择符。否则,每次元素的出现,都会额外地增加匹配时间。(特别是当选择器似乎多半会被匹配的情况下)
* 不赞成 - treehead > treerow > treecell { }
* 建议用 - .treecell-header { }
11.
留意所有子选择符的使用
小心地使用子选择符。如果你能想出一个的不使用他的方法,那么就不要使用。特别是在 RDF 树和菜单会频繁地使用子选择符,像这样。
* 不赞成 - treeitem[IsImapServer="true"] > treerow > .tree-folderpane-icon { }
请记住 RDF 的属性是可以在模板中被复制的!利用这一点,我们可以复制那些想基于该属性改变的子 XUL 元素上的 RDF 属性。
* 建议用 - .tree-folderpane-icon[IsImapServer="true"] { }
分享到:
相关推荐
### CSS书写高效的CSS-CSS的渲染效率 在前端开发领域,CSS(层叠样式表)是构建网页布局、样式和视觉效果的关键技术之一。优化CSS不仅能够提升网站性能,还能改善用户体验。本文将从几个方面探讨如何通过改进CSS...
- **性能提升**:介绍提高CSS渲染效率的策略。 #### 十六、WEB打印实例教程 ##### 打印样式表 - **打印优化**:专门用于打印的CSS样式表,确保网页内容在打印时呈现出最佳效果。 #### 十七、Div+CSS布局入门教程 #...
【提高CSS网页渲染效率的11点注意事项】 在构建高性能的网页时,优化CSS的编写方式至关重要,因为它直接影响到页面的加载速度和用户体验。以下是11个关键的注意事项,可以帮助提升CSS的网页渲染效率: 1. **颜色值...
CSS学习越深入,我们需要关注的细节之处就越多,今天我们通过11个注意点来提高CSS的网页渲染效率。 1、十六进制的颜色值对位数与大小写 编写十六进制颜色值时你可能会用小写字母或省略成3位数,关于这写法没找到...
描述中提到的“以后开发人员查看页面/应用在浏览器中的渲染方式”,意味着这个扩展帮助开发者在多种CSS渲染模式下查看和分析他们的项目。它可能包含了对各种CSS3新特性,如Flexbox、Grid布局、动画、过渡、以及旧版...
6. **跨浏览器兼容性检查**:考虑到CSS在不同浏览器中的渲染差异,该工具可能会提供一些关于兼容性的警告和建议,确保样式在主流浏览器中表现一致。 7. **颜色选择器**:内置的颜色选择器提供了一种方便的方式来...
在IT行业中,CSSBox是一个非常重要的工具,尤其对于前端开发者和网页设计师而言。这个压缩包“cssbox”可能包含了一套用于处理CSS布局和...通过熟练掌握CSSBox,开发者能够提升工作效率,实现更多创新性的项目需求。
总之,CSSBox是Java环境中处理CSS和HTML的强大工具,它的解析、渲染和操作功能为开发者提供了丰富的可能性,无论是用于网页截图、文档生成还是其他复杂的前端任务,都能大大提高开发效率和代码质量。
6. **CSS预处理器**:Sass、Less等预处理器的使用,可以提升CSS编写效率,实现变量、嵌套规则、函数等功能。 7. **性能优化**:如何减少CSS的体积,避免阻塞渲染,以及利用CSSOM理解性能优化策略。 8. **浏览器...
相反,"react-pure"试图通过纯CSS类来定义组件样式,这可以避免运行时计算样式,从而提高渲染效率。 项目描述中提到“项目已经放弃了”,这意味着这个库可能不再维护,可能存在一些未解决的问题或不兼容性。然而,...
- **选择器性能**: 避免使用复杂选择器,如后代选择器,以提高渲染效率。 7. **浏览器兼容性**: - 理解各主流浏览器对CSS特性的支持情况,使用前缀(-webkit-, -moz-, -ms-)来解决兼容问题。 - 使用 ...
显然,这种方式效率极低,会导致动画卡顿。 而如果使用`transform`属性,如`transform: translate(-20px, 0)`到`transform: translate(0, 0)`,主线程只需要计算一次变换,然后合成线程去处理变换的计算,因此只...
因此,通过"CSS3测试",开发者可以评估不同浏览器在处理CSS3特效时的效率,并据此优化代码。 总的来说,CSS3不仅提供了丰富的样式和布局工具,也带来了新的挑战,如兼容性和性能优化。"CSS3做的机器猫"项目展示了...
- Sass、Less等CSS预处理器可以提升CSS的编写效率,Java项目中可以借助Node.js或其他工具在构建阶段将预处理器的代码转换为标准CSS,或者使用Java的Sass、Less编译库,如JSSass或LessJava,直接在Java环境中编译。...
5. **避免使用@import**:尽量使用`<link>`标签引入CSS,因为@import会导致阻塞渲染。 **六、CSS3新特性** 1. **过渡(Transitions)**:平滑地改变一个或多个CSS属性。 2. **动画(Animations)**:通过关键帧...
7. **CSS重置与 normalize.css**:由于浏览器之间的样式差异,使用CSS重置(如Eric Meyer Reset或 Normalize.css)可以帮助消除默认样式,实现更一致的跨浏览器渲染。 8. **CSS Hack与浏览器兼容性**:面对不同的...
- **Sass** 和 **Less**:预处理器提供变量、嵌套规则、混合(mixins)等功能,提高CSS代码的可维护性和效率。 6. **动画与过渡** - **CSS动画**:使用关键帧(@keyframes)创建动画效果。 - **过渡效果**:...
总的来说,理解CSS解析源代码对于前端开发者来说是一项高级技能,它能够增强你对网页渲染底层机制的理解,从而提升开发效率和网页性能。通过阅读和研究开源的浏览器引擎代码,你可以深入探究这个过程,并可能发现...