浅谈CSS代码管理OOCSS、SMACSS、BEMCSS三种设计模式
面向对象的OOCSS,是由Nicole Sullivan提出的css理论,虽说是理论,实则更像一种程序员约定的规范。 是一种把面向对象方法学应用到 CSS 代码组织和管理中的实践。面向对象方法学中的很多理念,如模块化、单一功能原则(Single responsibility principle)和关注点分离(Separation of concerns)等,对于需要组织和管理大量 CSS 代码的应用也是适用的。OOCSS 提出了 CSS 对象的概念,用来表示重复出现的可视化模式。这些模式可以被抽象成独立的 HTML、CSS 和 JavaScript 代码片段,并在整个项目中共享。 有两个重要的原则: 第一个原则是把结构和外观分开。重复出现的可视化模式应该只关注外观,而与 DOM 结构无关。这样可以提高 CSS 对象的可复用性。 第二个原则是把容器和内容分开。这就要求在 CSS 样式中不应该出现与 DOM 树中的位置相关的规则。CSS 样式应该只关注内容,而不是 DOM 元素及其层次关系。 <div class="demo-list"> <ul> <li><a href="#">...</a></li> <li><a href="#">...</a></li> <li><a href="#">...</a></li> </ul> </div> 对a修改样式可能用.demo-list