首页 > web前端 > css教程 > 正文

用更合理的方式写 CSS

高洛峰
发布: 2017-02-15 13:14:53
原创
1356人浏览过

OOCSS 和 BEM

出于以下原因,我们鼓励使用 oocss 和 bem 的某种组合:

  • 可以帮助我们理清 CSS 和 HTML 之间清晰且严谨的关系。

  • 可以帮助我们创建出可重用、易装配的组件。

  • 可以减少嵌套,降低特定性。

  • 可以帮助我们创建出可扩展的样式表。

    立即学习前端免费学习笔记(深入)”;

OOCSS,也就是 “Object Oriented CSS(面向对象的CSS)”,是一种写 CSS 的方法,其思想就是鼓励你把样式表看作“对象”的集合:创建可重用性、可重复性的代码段让你可以在整个网站中多次使用。

参考资料:

  • Nicole Sullivan 的 OOCSS wiki

  • Smashing Magazine 的 Introduction to OOCSS

BEM,也就是 “Block-Element-Modifier”,是一种用于 HTML 和 CSS 类名的_命名约定_。BEM 最初是由 Yandex 提出的,要知道他们拥有巨大的代码库和可伸缩性,BEM 就是为此而生的,并且可以作为一套遵循 OOCSS 的参考指导规范。

  • CSS Trick 的 BEM 101

  • Harry Roberts 的 introduction to BEM

示例

<article class="listing-card listing-card--featured">

  <h1 class="listing-card__title">Adorable 2BR in the sunny Mission</h1>

  <p class="listing-card__content">
    <p>Vestibulum id ligula porta felis euismod semper.</p>
  </p>

</article>
登录后复制
登录后复制
.listing-card { }
.listing-card--featured { }
.listing-card__title { }
.listing-card__content { }
登录后复制
登录后复制
  • .listing-card 是一个块(block),表示高层次的组件。

  • .listing-card__title 是一个元素(element),它属于 .listing-card 的一部分,因此块是由元素组成的。

  • .listing-card--featured 是一个修饰符(modifier),表示这个块与 .listing-card 有着不同的状态或者变化。

OOCSS 和 BEM

出于以下原因,我们鼓励使用 oocss 和 bem 的某种组合:

  • 可以帮助我们理清 CSS 和 HTML 之间清晰且严谨的关系。

  • 可以帮助我们创建出可重用、易装配的组件。

  • 可以减少嵌套,降低特定性。

  • 可以帮助我们创建出可扩展的样式表。

    立即学习前端免费学习笔记(深入)”;

OOCSS,也就是 “Object Oriented CSS(面向对象的CSS)”,是一种写 CSS 的方法,其思想就是鼓励你把样式表看作“对象”的集合:创建可重用性、可重复性的代码段让你可以在整个网站中多次使用。

参考资料:

  • Nicole Sullivan 的 OOCSS wiki

  • Smashing Magazine 的 Introduction to OOCSS

BEM,也就是 “Block-Element-Modifier”,是一种用于 HTML 和 CSS 类名的_命名约定_。BEM 最初是由 Yandex 提出的,要知道他们拥有巨大的代码库和可伸缩性,BEM 就是为此而生的,并且可以作为一套遵循 OOCSS 的参考指导规范。

  • CSS Trick 的 BEM 101

  • Harry Roberts 的 introduction to BEM

示例

<article class="listing-card listing-card--featured">

  <h1 class="listing-card__title">Adorable 2BR in the sunny Mission</h1>

  <p class="listing-card__content">
    <p>Vestibulum id ligula porta felis euismod semper.</p>
  </p>

</article>
登录后复制
登录后复制
.listing-card { }
.listing-card--featured { }
.listing-card__title { }
.listing-card__content { }
登录后复制
登录后复制
  • .listing-card 是一个块(block),表示高层次的组件。

  • .listing-card__title 是一个元素(element),它属于 .listing-card 的一部分,因此块是由元素组成的。

  • .listing-card--featured 是一个修饰符(modifier),表示这个块与 .listing-card 有着不同的状态或者变化。

更多用更合理的方式写 CSS 相关文章请关注PHP中文网!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
css
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号