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. 【MATLAB】设定坐标的轴的范围

    set(gca,'XLim',[0 1.5]);%X轴的数据显示范围set(gca,'XTick',[0:0.1:1.5]);%设置要显示坐标刻度set(gca,'XTickLabel',[0:0.1 ...

  2. nginx配置文件语法高亮

    下载文件 nginx.vim https://vim.sourceforge.io/scripts/script.php?script_id=1886 安装 下载 nginx.vim 文件到 ~/.v ...

  3. N 叉树的层序遍历

    给定一个 N 叉树,返回其节点值的层序遍历. (即从左到右,逐层遍历). 例如,给定一个 3叉树 : 返回其层序遍历: [ [1], [3,2,4], [5,6] ] 说明: 树的深度不会超过 100 ...

  4. LeetCode Remove Nth Node From End of List 删除链表的倒数第n个结点

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  5. linux 命令——38 cal (转)

    cal命令可以用来显示公历(阳历)日历.公历是现在国际通用的历法,又称格列历,通称阳历.“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”. 1.命令格式: cal  ...

  6. noip模拟赛#39

    昨晚打开的题想了一会发现都不会后决定慢慢想.然后早上开校会的时候莫名其妙的都想出来了... T1:m=100,ai=50000,i<=5.1到m的数每个数只能用一次,判断是否能够有这些数的某些数 ...

  7. iOS内存探秘

    http://www.cocoachina.com/ios/20170216/18689.html iOS 内存机制特点 有限的可用内存 iPhone 设备的 RAM 一直非常紧缺,iPhone 一代 ...

  8. 使用pip 提示UnicodeDecodeError: 'ascii' codec can't decode解决方法

    python目录 Python27\Lib\site-packages 建一个文件sitecustomize.py 内容写: import sys sys.setdefaultencoding('gb ...

  9. ElasticSearch High Level REST API【5】使用模板搜索

    ElasticSearch Rest高级API 提供了多种搜索方式,除了前面讲到的search查询,ElasticSearch 还提供了通过模板搜索查询.我个人比较喜欢这种方式. 我们可以通过脚本预选 ...

  10. 读取properties的简单方法,使用@Configuration

    配置类代码如下 import org.springframework.beans.factory.annotation.Value; import org.springframework.contex ...