1.简单组织(见习级)

projectName
├─css
| └style.css

优点:简单,单一文件,适合一些简单项目。

缺点:过度集中,没有模块化,无法适应大型项目。

2.公共组织(见习级)

projectName
├─css
| ├─index.css
└base.css

优点:抽取公共样式,适合一些小中型项目。

缺点:重用代码低,没有模块化,无法适应大型项目。

3.页面集中组织(见习级)

projectName
├─css
| ├─about.css └index.css

优点:按页面组织,集中存放在css目录中,适合一些中小型项目。

缺点:重用代码低,没有模块化,无法适应大型项目。

4.页面分布组织(见习级)

projectName
├─page| ├─index
| | └index.css
| ├─about
| | └about.css

优点:按页面组织,分布存放在对应目录中,针对性管理页面样式,适合一些中小型项目。

缺点:重用代码低,没有模块化,无法适应大型项目。

5.分离插件(框架)与源码组织(见习级)

projectName
├─css
| ├─index.css| ├─plugins
| | └jquery.timepicker.min.css
| ├─libs
| | └bootstrap.min.css

优点:分离插件(框架),区分第三方与本项目的样式,适合一些中小型项目。

缺点:重用代码低,没有模块化,无法适应大型项目。

6.组件组织(资深级)

projectName
├─css
| ├─page
| | └index.css
| ├─layout
| | ├─desktop.css
| | └moblie.css
| ├─common
| | ├─footer.css
| | └head.css

优点:抽取组件样式,重用代码高,组件模块化,适合一些中大型项目。

缺点:引入过多的css标签,不适合小型项目,使用会过于繁琐。

7.精细组件组织(资深级)

projectName
├─css
| ├─page
| | └index.css
| ├─layout
| | ├─desktop.css
| | └moblie.css
| ├─common
| | ├─footer.css
| | ├─head.css
| | ├─tab
| | | └tab.css
| | ├─button
| | | └button.css

优点:更加细化抽取,功能组件样式, 重用代码很高,组件模块化,适合一些中大型项目。

缺点:引入过多的css标签,不适合小型项目,使用会过于繁琐。

8.预后处理组件组织(宗师级)

projectName
├─scss
| ├─vendor
| | ├─font-awesome-sass
| | | ├─font-awesome.scss
| | | ├─_animated.scss
| | | ├─_bordered-pulled.scss
| | | ├─_core.scss
| | | ├─_fixed-width.scss
| | | ├─_icons.scss
| | | ├─_larger.scss
| | | ├─_list.scss
| | | ├─_mixins.scss
| | | ├─_path.scss
| | | ├─_rotated-flipped.scss
| | | ├─_screen-reader.scss
| | | ├─_stacked.scss
| | | └_variables.scss
| ├─partials
| | ├─page
| | | └index.scss
| | ├─layout
| | | ├─desktop.scss
| | | └moblie.scss
| | ├─common
| | | ├─footer.scss
| | | ├─head.scss
| | | ├─button
| | | | └button.scss
| ├─modules
| | ├─funtion.scss
| | ├─mixins.scss
| | ├─reset.scss
| | └variables.scss

优点:更加细化抽取,功能组件样式, 重用代码很高,组件模块化,解决引入过多的css,适合一些中大型项目。

缺点:不适合小型项目,使用会过于繁琐。

PS:具体问题具体分析,合理的组织css目录有利于提高开发效率,便于版本迭代。

浅谈我所见的CSS组织风格的更多相关文章

  1. 浅谈我所见的CSS命名风格

    在两年工作中,总结一下我所见的css命名风格. 1.单一class命名 .header { width: 500px; } .item { text-indent: 20%; } 优点:简单,渲染效率 ...

  2. 浅谈搜索引擎SEO(HTML/CSS)

    SEO:搜索引擎优化(免费): SEM:搜索引擎营销(付费). 它们两者的区别是: 1.SEM高投入,SEO低投入: 2.SEM短.效益块,SEO长期投入.增长慢: 3.新广告法颁布之后SEM广告位减 ...

  3. 转:浅谈CSS在前端优化中一些值得注意的关键点

    前端优化工作中要考虑的元素多种多样,而合理地使用CSS脚本可以在很大程度上优化页面的加载性能,以下我们就来浅谈CSS在前端优化中一些值得注意的关键点: 当谈到Web的“高性能”时,很多人想到的是页面加 ...

  4. 浅谈对CSS的认识

    自从进公司也有2个多月了,相信和我一批进来的小伙伴们都收获了很多东西,这个是在学校所学不到的,也让成长了很多.作为新人的我,从认为CSS是个很简单的东西,到现在觉得CSS中水很深,感觉学了很多的CSS ...

  5. 浅谈Normalize.css

    浅谈Normalize.css 一.总结 1.Normalize.css:它在默认的HTML元素样式上提供了跨浏览器的高度一致性,花了几百个小时来努力研究不同浏览器的默认样式的差异. 2.优于rese ...

  6. 【css】浅谈BFC

    定义: 块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域. BFC的布 ...

  7. CSS属性中的display属性浅谈;

    首先我们要知道什么是块级元素和行内元素有什么区别: 承接上篇文章:(浅谈HTML和body标签) 块级元素:浏览器解析为独占一行的元素(例如:div.table.ul等.),浏览器会在该元素的前后显示 ...

  8. HTTP协议漫谈 C#实现图(Graph) C#实现二叉查找树 浅谈进程同步和互斥的概念 C#实现平衡多路查找树(B树)

    HTTP协议漫谈   简介 园子里已经有不少介绍HTTP的的好文章.对HTTP的一些细节介绍的比较好,所以本篇文章不会对HTTP的细节进行深究,而是从够高和更结构化的角度将HTTP协议的元素进行分类讲 ...

  9. 浅谈angular2+ionic2

    浅谈angular2+ionic2   前言: 不要用angular的语法去写angular2,有人说二者就像Java和JavaScript的区别.   1. 项目所用:angular2+ionic2 ...

随机推荐

  1. Python学习笔记-day1(while流程控制)

    count = 0 while True: #print('count:',count) if count == 3: print('you guess over 3 times!fuck off!' ...

  2. 红象云腾CRH 一键部署大数据平台

    平台: arm 类型: ARM 模板 软件包: azkaban hadoop 2.6 hbase hive kafka spark zeppelin azkaban basic software bi ...

  3. JFinal常量配置学习笔记

    在继承 JFinalConfig 类时,需要 实现 /** * Config constant */ public abstract void configConstant(Constants me) ...

  4. 绿卡基础知识:I-129

    绿卡基础知识:I-129 标签: 绿卡基础知识 I-129 表格本不该你来填的.那是你老板的 business.在美国工作,除非是公民或有绿卡,都需要移民局的批准.如果你没有 EAD,I-129 就是 ...

  5. 富文本编辑器Ueditor的使用

    1.下载:http://ueditor.baidu.com/website/download.html. 2.解压,并放到项目webapp下. 3.jsp页面的配置. 4.配置根路径. 5.页面展示: ...

  6. form.elements属性

    form.elements属性与childNodes属性不同的是form.elements只返回的是表单元素组成的数组,包括input,textarea等

  7. Problem J: 搜索基础之红与黑

    Problem J: 搜索基础之红与黑 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 170  Solved: 100[Submit][Status][ ...

  8. 张量 (tensor) 是什么?

    对于大部分已经熟练的数学和物理工作者, 这实在是一个极为基础的问题. 但这个问题在我刚接触张量时也困扰了我很久. 张量的那么多定义, 究竟哪些是对的? (显然都是对的. ) 它们的关系是什么? 我尽可 ...

  9. js处理的8种跨域方法

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  10. Redis学习记录(三)

    1.Redis集群的搭建 1.1redis-cluster架构图 架构细节: (1)所有的redis节点批次互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽. (2)节点的fail ...