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. git学习(一)

    提:       远程的主机名(远程仓库服务器名):  origin   本地的主分支: master(本地master分支)      远程的主分支: maste(远程仓库的master分支) gi ...

  2. Cocos2d-x v3.1 安装图文教程(二)

       Cocos2d-x v3.1 安装图文教程(二) 如果我们需要在Android平台上运行就必须安装android的SDK,如果我们只想在window上运行就只需要安装Cocos2d-x就行了.当 ...

  3. sublime完美编码主题

    Theme – Soda 使用Ctrl+Shift+P快捷键或者进入菜单:Preferences(首选项) - Package Control(插件控制),调出命令输入框,输入Install Pack ...

  4. STL中的map和hash_map

    以下全部copy于:http://blog.chinaunix.net/uid-26548237-id-3800125.html 在网上看到有关STL中hash_map的文章,以及一些其他关于STL ...

  5. php之cURL惯用

    1.php cURL的强大:PHP 支持 Daniel Stenberg 创建的 libcurl 库,能够连接通讯各种服务器.使用各种协议.libcurl 目前支持的协议有 http.https.ft ...

  6. 渐变色在IE9以下包括IE9的使用

    因为是不支持gradient的.所以需要使用如下属性,该属性不适用于safria浏览器,并且,#fff不可以简写,要写成#ffffff这样的形式 FILTER: progid:DXImageTrans ...

  7. C/C++语言补缺 宏- extern "C"-C/C++互调

    1. 宏中的# 宏中的#的功能是将其后面的宏参数进行字符串化操作(Stringizing operator),简单说就是在它引用的宏变量的左右各加上一个双引号. 如定义好#define STRING( ...

  8. PostgreSql的使用

    title: PostgreSql的使用 tags: PostgreSql --- PostgreSql官网: https://www.postgresql.org/ 1 PostgreSql的安装 ...

  9. theano支持的数组、向量、矩阵表达式

    1)theano主要支持符号矩阵表达式 (2)theano与numpy中都有broadcasting:numpy中是动态的,而theano需要在这之前就知道是哪维需要被广播.针对不同类型的数据给出如下 ...

  10. github不能加载css、js解决办法

    很奇怪,上午在公司还能正常访问github,晚点访问却有问题,页面样式明显错乱. 在FireFox下用F12开发者工具一看,有2条css和2条js 404 了,猜想应该是github的DNS被GFW污 ...