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

不同CSS技术及其CSS性能之间的差异

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

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

一、为什么我要测试CSS的性能

这是背景:

我是OOCSS(译者注:面向对象CSS)的忠实粉丝。但是最近工作,我一直使用Compass,SASS(译者注:SASS使CSS函数化,有诸如变量,嵌套,混合,继承等特性,需Ruby支持).我有时候感觉到OOCSS和SASS似乎有点古怪。我的一个朋友把我介绍给了Chris Eppstein(Compass的创建者),我们就SASS中的@extend方法进行了探讨。所以我决定创建一个CSS测试页面,用一种很原生态的方式来显示是否SASS的@extend方法和CSS的OOCSS方法之间有着显著的性能差异。

译者补充,下图为SASS@extend继承实现的示例截图:
SASS @extend使用截图 张鑫旭-鑫空间-鑫生活

关于OOCSS,Nicole Sullivan有份不错的ppt教案,具体见下面:

Object Oriented CSS

查看更多Nicole Sullivan的presentations.

本想翻译下的,结果此幻灯片被作者设置为不能下载,要是自己翻译并重新制作份幻灯片,是腾不出那么多时间的,所以作罢。其有两个主要原则:

* 分离结构和皮肤
* 分离容器和内容

此原则多少与自己“CSS样式分离之再分离”一文中提到的一些思想类似。

二、测试如何工作的

此测试制造了差不多2000个box,所有的box都有一个独一无二的背景(样式)。有几种格式用来测试(见下面的链接),你可以逐个更改以测试器速度的差异。只要根据您的意愿点击相应的链接。

此测试用了一小段脚本,此段脚本来自Steve Souder的博文:Performance Impact of CSS Selectors(CSS选择器的性能影响)

Steve的文章可以说是进入了CSS选择器性能更细致的一个境界,非常值得阅读。

三、CSS格式

1. OOCSS (似乎挺快的),双class,如:class="box box-#",基本的CSS样式在class box中,然后直添加背景样式在唯一的class中。

2. Sass @extend (速度不确定),一个class,如class="box-3",然后在基本规则上创建一个多选择器规则,如.box-1, .box-2 {generics}。

3. 嚣张的CSS 添加所有的基本CSS到一个唯一的class上,没有“瘦身”。

4. 使用ID选择器 虽然我不建议使用ID,但是用来测试还是值得一试的。

5. 没有CSS 很好的底线测试

代码示例?

OOCSS样式:一个主class,包含所有的共同规则,然后一个独特的规则使用其他class

@extend样式:将所有的独特class归为一个,逗号分隔的使用公用属性的class列表。

长(肿胀)样式:所有的公共样式都分离到独一无二的class中。

无CSS:有点儿自我解释

四、测试结果

测试结果貌似挺有趣的,让我们看看一些图表好吗?

opera浏览器下测试结果 张鑫旭-鑫空间-鑫生活

firefox浏览器下测试结果 张鑫旭-鑫空间-鑫生活

Chrome6浏览器下测试结果 张鑫旭-鑫空间-鑫生活

Safari浏览器下测试结果 张鑫旭-鑫空间-鑫生活

所以让我们先讨论下CSS性能,这里有些我发现的东东:

  • 类(class)选择器和ID选择器基本上是相同的速度
  • SASS/Compass的@extend格式仅稍稍落后于OOCSS格式
  • 臃肿的格式在大数量级速度比其他格式明显要慢

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

  • 今天学到的CSS最新技术(与图片背景相关)
  • 不同CSS技术及其CSS性能之间的差异

相关文章

  • 2017-08-06DIV设置float后父容器无法定位高度的问题解决方法
  • 2017-08-06Css样式--背景样式详解
  • 2017-08-06针对chrome的css hack 使用方法
  • 2017-08-06使用CSS修改HTML的checkbox效果的小示例分享
  • 2017-08-06CSS中文字怎么斜体?CSS中让文字变成斜体的方法
  • 2017-08-06CSS Sprite打造的个性化导航菜单代码
  • 2017-08-06纯css实现一款仿ios7的switches开关按钮
  • 2017-08-06php的动态页面在ie内核的浏览器下面整体偏左的解决方法
  • 2017-08-06CSS属性探秘系列(五):min-width
  • 2017-08-19css水平垂直居中

文章分类

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

最近更新的内容

    • CSS Cookbook创建水平导航菜单
    • Css浮动元素外层容器高度为0(无高度)的解决方法
    • css(display,float,position)深入理解
    • css 遮罩样式(支持IE和FireFox)
    • css表格单元格中的长文本如何实现自动换行
    • 浏览器跨平台使用div等标签盖住flash的另类实用解决方法
    • css中使用ul li ul li ul li ul li 实现四层级联菜单
    • IE7,IE8 BUG导致CSS下载二次的解决方法
    • IE浏览器下的CSS问题小结
    • CSS margin属性介绍与用法(附margin解剖图)

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

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