浅谈我所见的CSS组织风格
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组织风格的更多相关文章
- 浅谈我所见的CSS命名风格
在两年工作中,总结一下我所见的css命名风格. 1.单一class命名 .header { width: 500px; } .item { text-indent: 20%; } 优点:简单,渲染效率 ...
- 浅谈搜索引擎SEO(HTML/CSS)
SEO:搜索引擎优化(免费): SEM:搜索引擎营销(付费). 它们两者的区别是: 1.SEM高投入,SEO低投入: 2.SEM短.效益块,SEO长期投入.增长慢: 3.新广告法颁布之后SEM广告位减 ...
- 转:浅谈CSS在前端优化中一些值得注意的关键点
前端优化工作中要考虑的元素多种多样,而合理地使用CSS脚本可以在很大程度上优化页面的加载性能,以下我们就来浅谈CSS在前端优化中一些值得注意的关键点: 当谈到Web的“高性能”时,很多人想到的是页面加 ...
- 浅谈对CSS的认识
自从进公司也有2个多月了,相信和我一批进来的小伙伴们都收获了很多东西,这个是在学校所学不到的,也让成长了很多.作为新人的我,从认为CSS是个很简单的东西,到现在觉得CSS中水很深,感觉学了很多的CSS ...
- 浅谈Normalize.css
浅谈Normalize.css 一.总结 1.Normalize.css:它在默认的HTML元素样式上提供了跨浏览器的高度一致性,花了几百个小时来努力研究不同浏览器的默认样式的差异. 2.优于rese ...
- 【css】浅谈BFC
定义: 块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域. BFC的布 ...
- CSS属性中的display属性浅谈;
首先我们要知道什么是块级元素和行内元素有什么区别: 承接上篇文章:(浅谈HTML和body标签) 块级元素:浏览器解析为独占一行的元素(例如:div.table.ul等.),浏览器会在该元素的前后显示 ...
- HTTP协议漫谈 C#实现图(Graph) C#实现二叉查找树 浅谈进程同步和互斥的概念 C#实现平衡多路查找树(B树)
HTTP协议漫谈 简介 园子里已经有不少介绍HTTP的的好文章.对HTTP的一些细节介绍的比较好,所以本篇文章不会对HTTP的细节进行深究,而是从够高和更结构化的角度将HTTP协议的元素进行分类讲 ...
- 浅谈angular2+ionic2
浅谈angular2+ionic2 前言: 不要用angular的语法去写angular2,有人说二者就像Java和JavaScript的区别. 1. 项目所用:angular2+ionic2 ...
随机推荐
- zabbix-3.4 触发器
3 触发器 概述 触发器是"评估"由项目采集的数据并表示当前系统状况的逻辑表达式. 当监控项用于采集系统的数据时,始终遵循这些数据是非常不切合实际的,因为这些数据始终在等待一个令人 ...
- 解析ASPX网页__doPostBack分页的网页table数据
由于急于上线的功能要去客服系统里抓取数据进行验证,客服方面又没有时间开发EDI接口给到我,所以用了本办法:爬人家web系统上的数据进行分析. 由于客服的web系统用ASP.Net的__doPostBa ...
- LeetCode Rotate Array 翻转数组
题意:给定一个数组,将该数组的后k位移动到前n-k位之前.(本题在编程珠玑中第二章有讲) 思路: 方法一:将后K位用vector容器装起来,再移动前n-k位到后面,再将容器内k位插到前面. class ...
- Java中的字符串问题
本文章分为三个部分: 1.创建字符串对象的两种方式以及它们的存储方式 2.String a = new String("a")创建了几个对象的问题 3.字符串小例子 ------- ...
- POJ 3126 Prime Path(筛法,双向搜索)
题意:一个4位的素数每次变动一个数位,中间过程也要上素数,问变成另一个的最小步数. 线性筛一遍以后bfs就好.我写的双向,其实没有必要. #include<cstdio> #include ...
- Mybatis-延迟加载和缓存
延迟加载 概念: 就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据.延迟加载也称懒加载. 好处:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表 ...
- Ubuntu 上配置静态的ip
先关掉或卸掉 network-manager.然后,改动/etc/network/interfaces 如下:(由于是静态ip,你当然知道把例子中那些东西改成你自己的)auto lo eth0ifac ...
- CXF学习记录
1 apache CXF入门 1.1 下载 官网:cxf.apache.org 下载CXF的开发包: Apache CXF = Celtix + Xfire 支持多种协议: SOAP1.1,1.2 X ...
- PHP implode() 函数
转自:http://www.w3school.com.cn/php/func_string_implode.asp 语法 implode(separator,array) 参数 描述 separato ...
- 课堂使用的Linux命令
1.ls 显示目录文件 2.ls -l = ll 显示 3.vi 创建于编辑 4.mv 改名 5. ./ 当前目录 6.chmod 修改权限 4 读 2 编辑 1 运行 7.去除UI界面 syste ...