首页 > 开发 > CSS > 正文

深入解读CSS的OOCSS和SMACSS以及BEM

2024-07-11 08:29:53
字体:
来源:转载
供稿:网友

最近在The Sass Way里看到了Modular CSS typography一文,发现文章在开头部分就提到了OOCSS、SMACSS、BEM、这3个词。“如果还不知道这些是什么,请先不要继续看下去”,联想到作者这样友好(gāo lěng)的提醒,作为围观群众,自然要有所回应。所以,本文在这里分别介绍它们。

OOCSS、SMACSS及BEM都是有关css的方法论(准确地说,其中BEM应该是一个完整的前端开发理论,不仅限于css),可作为实现优秀css架构(css architecture)的指南。

css易于理解,但应用和维护并不简单。在各种开发情景下,css都可能成为一个问题点。因此,我们编写和组织css应认真、用心。
OOCSS

OOCSS(Object Oriented CSS),字面意思是面向对象的CSS,是由Nicole Sullivan提出的css理论,其主要的两个原则是:

    Separate structure and skin(分离结构和主题)
    Separate container and content(分离容器和内容)

用一个例子来说明。请看下面这样的图文排列:
2015728170915501.png (402×124)

CSS Code复制内容到剪贴板
  1. <div class="media media-shadow">        <div class="media-image-container">   
  2.         <img class="media-image" src="rean.jpg" alt="">        </div>   
  3.     <div class="media-body">            <p class="media-text">本作的主角,帝国北部地方贵族施瓦泽男爵的养子,也是托尔兹士官学校特科班“Ⅶ组”的成员。</p>   
  4.     </div>    </div>   
  5.    .media{   
  6.     padding: 10px;    }   
  7. .media:after{        display: table;   
  8.     clear: both;        content: " ";   
  9. }    .media-image-container{   
  10.     float: left;        margin-right: 10px;   
  11. }    .media-image{   
  12.     display: block;    }   
  13. .media-body{        overflow: hidden;   
  14. }    .media-shadow{   
  15.     box-shadow: 1px 1px 3px rgba(0, 0, 0, .5);    }  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表