返回

CSS 那些不得不说的开发设计模式

前端



CSS,作为一门级联样式表,需要根据页面的结构对CSS功能模块进行合理地命名。笔者将通过分析页面结构,以及对社区CSS设计模式的总结,来讲述CSS设计模式的必要性,从而让CSS更具有灵活用,更能胜任目前日益复杂的CSS开发任务。

一、CSS开发时如何合理的命名,以及构建合理的模块?

(1)CSS的模块化封装

  1. CSS模块化封装的优点。 页面结构通常伴随着着着模块的不断变化。CSS模块化通过将一些相同的页面模型进行封装,提高重用率和灵便的处理页面结构,通过CSS可以创建模块的容器,最终可以让每一个模块可以轻松的复用。
  2. CSS模块化设计的实践: 当页面的结构发生改变,再利用现有 CSS 灵活匹配各种需求,通过 CSS模块化封装,CSS 就可以轻松匹配开发中各种需求。

(2)CSS的合理命名

  1. css模块化命名法: 利用css模块化开发而衍生出的CSS模块命名法,它是一种直观的对不同模块所定义的样式的区分。这样可以有效解决CSS的模块隔离。
  2. CSS模块化命名法使用价值:
  • 提升代码的可读性。
  • 降低 CSS 的维护门槛。
  • 提升项目开发迭代速度。
  • 压缩 CSS 文件体积。
  • 更好的封装 CSS

(3)CSS设计模式的必要性

  1. CSS设计模式可提升CSS开发可维护性。
    • CSS设计模式的一致性: 通过 CSS 设计模式,可以提升 CSS 代码的一致性。
    • CSS设计模式的灵灵性: 设计模式不会影响样式的最终呈现。
  2. CSS设计模式可降低 CSS 的开发门槛。
    • 缺乏文档,理解困难。
    • 类名混乱, 不易区分。
    • CSS 选择器不够高效。
    • 缺乏规范,重复工作多。
    • 较难和 JS/HTML 形成兼容。
    • 代码的不严谨,重用性欠缺。
  3. CSS设计模式的解决方案。
    • 类命名方式的规范化: 类名的定义,类名的使用范围,类名的组织形式。
    • 分离的样式管理: 适应不同页面重构的更新CSS,通过设计模式将样式保存,并通过设计模式为网站添加一个备用样式表。
    • 性能优化。 随着css开发工具的更新,css组件化开发的应用,模块化开发模式已经成为CSS开发的重要组成部分。由此可见,合理的css开发模式是CSS设计模式的前提,合理的css设计模式,有效解决css文件的模块隔离,将提高css开发的迭代速度。

二、社区CSS设计模式总结

为了设计模式更好的为 CSS 提供发展动力,对现有CSS设计模式做出总结。

(1)CSS 重构模式。

CSS 重构模式,可以使CSS样式从现有 CSS 文件中剥离,并且形成一个新的 CSS 文件,然后对一个项目开发 CSS 样式表,对各种重构方式进行融合,可以创造出新方法。

(2)CSS 命名空间模式。

CSS命名空间模式通过引入CSS命名空间,构建新的CSS文件。css-namespace的机制,可以通过添加中括号来引用CSS样式。CSS命名空间模式的基本组件,可以由如下的三种类型组成:类名选择器,id选择器,结构选择器。

(3)CSS 工厂模式。

CSS 工厂模式利用css选择器向 CSS 样式表中的加入更多的 CSS 样式,可以创建一个CSS样式工厂,以便添加更多的 CSS 样式。利用CSS工厂模式,可以实现CSS的重用。

(4)CSS 策略模式。

CSS 策略模式,可以可以创建选择器,然后通过对选择器使用CSS选择器来改变 HTML 元素,CSS选择器可以通过css选择器对 HTML 元素添加或移除类。

(5)CSS 观察者模式。

CSS观察者模式利用不同的选择器,通过监听CSS选择器来自动更新元素。CSS观察者模式的核心,是利用CSS选择器和 CSS 媒体查询进行监控DOM中的元素。

(6)CSS 中介者模式。

CSS 中介者模式通过CSS选择器,插入新的CSS选择器。利用CSS中介者模式,可以通过 CSS 选择器来合并 CSS 样式。

三、CSS设计模式的总结

  1. 为 CSS 选择器选择合适的选择器。

    CSS选择器选择,是CSS中使用频繁的机制,通过改变 CSS 选择器,可以提升CSS的灵活用,更好的匹配 CSS 开发任务的需要。

  2. 合理的组织 CSS 文件。

    CSS 文件的组织,会影响 CSS 设计模式,合理的组织 CSS 文件,可以提升 CSS 开发的灵活用,更好的匹配 CSS 设计模式,提升 CSS 开发中重用 CSS 的灵便度。

  3. 将 CSS 设计模式应用于 CSS 框架。

    通过CSS设计模式,更好的为CSS提供框架,能够创建更加灵活和强大的CSS框架,CSS框架通过引用CSS设计模式,可以降低开发 CSS 的门槛。

CSS设计模式,作为CSS开发中的利器,通过合理的CSS模块化封装,可使 CSS更具有灵活,更好的适用于复杂的CSS开发任务,CSS设计模式对现有的CSS功能模块进行封装后,将更具有灵活用,更好的适用于复杂的 CSS 开发任务。

结语:

通过对CSS的分析总结,可以看出 CSS设计模式的优点,CSS 设计模式通过灵活的重用 CSS,从而降低 CSS 的开发和维护的难点,提升 CSS 代码的灵活用,将 CSS 设计模式应用于 CSS 框架,提高 CSS 框架的灵活用和重用性。