CSS文档优化
首先了解下CSS的渲染逻辑,它是从标记的最后一位开始搜索的,例如:.myclass li a,首选它会遍历所有的<a>,然后看哪些<a>之前有<li>,然后再看哪些<li>之前有.myclass。
所以:1、层级太多会增加CSS渲染的工作量。
如下:

除此之外,还有哪些可以优化的呢?
2、图中样式的每个属性独占一行,行数越多,文件的大小就越大,而且找起来也不好找,进入疯狂的滚轮模式。
3、很长很长的链式定位,.myclass li a span,让不熟悉的同事要不断切换html与css文档找到所影响到的元素,影响工作效率。建议更多的采用带明确含义的clss。
4、一些常用的属性可以抽离,正常团队工作中,前端与设计会在设计阶段至开发前沟通好一些通用的样式,例如:字体、标题风格等等。还有一些我们会常用到的,例如:各种定位、清除浮动属性等。
以下是优化过的文档:

当然,在项目体量比较小的时候,效率提升不会怎么明显。不过更多的好处在于后续维护时的效率,毕竟,作为一名技术,工作的目的也是为了提高公司的收益,开源节流,这就是节流的地方了。
欢迎交流指点
CSS文档优化的更多相关文章
- CSS文档统筹
		一.CSS文档统筹 1.整站里相同的CSS样式提取到一个样式表里,各个页面调用相同的样式文件即可: 2.网站较大的情况下一般会把网站的头部,尾部单独分离出来,包括样式文件: 1)根据页面类型分离文件 ... 
- CSS文档流与块级元素和内联元素
		CSS文档流与块级元素(block).内联元素(inline),之前翻阅不少书籍,看过不少文章, 看到所多的是零碎的CSS布局基本知识,比较表面.看过O'Reilly的<CSS权威指南>, ... 
- CSS文档流与块级元素和内联元素(文档)
		CSS文档流与块级元素(block).内联元素(inline),之前翻阅不少书籍,看过不 少文章, 看到所多的是零碎的CSS布局基本知识,比较表面.看过O'Reilly的<CSS权威指 南> ... 
- CSS文档流、块级元素、内联元素
		CSS文档流与块级元素(block).内联元素(inline),之前翻阅不少书籍,看过不少文章, 看到所多的是零碎的CSS布局基本知识,比较表面.看过O'Reilly的<CSS权威指南>, ... 
- 完美CSS文档的8个最佳实践
		在css的世界,文档没有被得到充分的利用.由于文档对终端用户不可见,因此它的价值常常被忽视.另外,如果你第一次为css编写文档,可能很难确定哪些内容值得记录,以及如何能够高效完成编写. 然而,为C ... 
- css文档之盒模型阅读笔记
		前段时间抽空仔细阅读了w3c的css文档关于盒模型方面的一些基础知识.边读边记录了一些要点,在此做些整理,与大家分享,如有理解有误之处,请不吝指教. 1.综述 文档中的每个元素被描绘为矩形盒子.渲染引 ... 
- CSS文档流
		文档流 将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流. 每个非浮动块级元素都独占一行, 浮动元素则按规定浮在行的一端. 若当前行容不下, 则另起新行再浮动. 内联元素也不 ... 
- css 文档流中块级非替换元素水平区域的计算规则(1)
		最近在读<Basic Visual Formatting in CSS>,结合以前看的<css权威指南>和css标准.今天就做个笔记. 以前在遇到一些宽度不明确指明的一些布局的 ... 
- 前端学习笔记之CSS文档流
		先引用一段W3C的文档: 9.3 Positioning schemes In CSS 2.1, a box may be laid out according to three positionin ... 
随机推荐
- 【本人译作推荐】Windows 8应用开发:C#和XAML卷(原名:Building Windows 8 Apps with C# and XAML)
			[图书推荐] 译名:Windows 8应用开发:C#和XAML卷 原名:Building Windows 8 Apps with C# and XAML 编辑推荐 国内第一本使用XAML与C#语言 ... 
- 【关于msyql5.6创建存储过程的一些记录】
			-- 秒杀执行存储过程DELETE $$ -- console的结束符号由;转换成 $$-- in输入参数:out:输出参数-- ROW_COUNT():返回上条dml影响的条数: 小于0:sql语句 ... 
- vue中通过cross-env插件配置三种环境(开发,测试,生产)打包,不用切换api
			1. 话不多说,第一步就是安装必要的插件 npm install cross-env --save 2.修改config里面的参数,这里只展示一个test,其他类似 3.修改package.json ... 
- Codeforces Round #558 (Div. 2)C(计算几何,排列组合,模拟)
			#include<bits/stdc++.h>using namespace std;typedef struct{ double k,b;}node;node k[1000007];bo ... 
- vue render & JSX
			vue在绝大多数使用template是没问题的,但在某些场合下,使用render更适合. 一.render函数 1.createElement 参数 createElement 可接受三个参数 1){ ... 
- Dynamic Rankings(树状数组套权值线段树)
			Dynamic Rankings(树状数组套权值线段树) 给定一个含有n个数的序列a[1],a[2],a[3]--a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[ ... 
- Mysql-4-数据库的基本操作
			1.创建数据库 create database database_name; 例:create database aa; show create database aa;(查看database aa) ... 
- 在 .NET Framework 中使用 StringBuilder 类
			在 .NET Framework 中使用 StringBuilder 类 String 对象是不可变的.每次使用 System.String 类中的一个方法时,都要在内存中创建一个新的字符串对象,这就 ... 
- 视图、存储函数、存储过程、触发器:MySQL系列之五
			一.视图 视图:VIEW,虚表,保存有实表的查询结果,实际数据不保存在磁盘 物化视图:实际数据在磁盘中有保存,加快访问,MySQL不支持物化视图 基表:视图依赖的表 视图中的数据事实上存储于" ... 
- iOS获取手机型号、iOS获取当前app的名称和版本号
			NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; CFShow(infoDictionary); // ap ... 
