专栏名称: 大转转FE
定期分享一些团队对前端的想法与沉淀
目录
相关文章推荐
51好读  ›  专栏  ›  大转转FE

浅谈CSS模块化

大转转FE  · 公众号  ·  · 2017-08-29 18:20

正文

请到「今天看啥」查看全文


mlm { margin - left : 10px }

OOCSS的优点

  • 减少CSS代码。

  • 具有清洁的HTML标记,有语义的类名,逻辑性强的层次关系。

  • 语义标记,有助于SEO。

  • 更好的页面优化,更快的加载时间(因为有很多组件重用)。

  • 可扩展的标记和CSS样式,有更多的组件可以放到库中,而不影响其他的组件。

  • 能轻松构造新的页面布局,或制作新的页面风格。

OOCSS的缺点

  • OOCSS适合真正的大型网站开发,因为大型网站用到的可重用性组件特别的多,如果运用在小型项目中可能见不到什么成效。所以用不用OOCSS应该根据你的项目来决定。

  • 如果没用巧妙的使用,创建组件可能对于你来说是一堆没用的东西,成为一烂摊子,给你的维护带来意想不到的杯具,说不定还是个维护的噩梦。

  • 最好给每一个组件备写一份说明文档,有助于调用与维护。

  • AMCSS(属性模块)。

属性模块或者说AM,其核心就是关于定义命名空间用来写样式。通俗的讲就是,给一个元素加上属性,再通过属性选择器定位到这个元素。达到避免过多的使用class。

  1. // template

  2. <div am- Row >div>

  3. <div am- Column = "12"> Full < /div>

  4. </ div>

    Thirds div>
  5. <div am- Column = "4"> Thirds div>

  6. <div am- Column = "4"> Thirds < /div> div>

  7. // style

  8. [am- Row ] { /* max-width, clearfixes */ }

  9. [am- Column ~= "1" ] { /* 1/12th width, floated */ }

  10. [am- Column ~= "2" ] { /* 1/6th width, floated */ }

  11. [am- Column ~= "3" ] { /* 1/4th width, floated */ }

  12. [am- Column ~= "4" ] { /* 1/3rd width, floated */ }

  13. [am- Column ~= "5" ] { /* 5/12th width, floated */ } /* etc */

  14. [am- Column







请到「今天看啥」查看全文