组件化学习总结三——css设计

css模块化设计(精练的)

1.设计原则

(1)可复用能继承要完整

 1.可复用:样式看起来能不能复用,系统是否有很多的地方

 2.能继承:这个模块写完了,有a b c 的样式,下一个模块用的是,可以用 a b c,还有可以覆盖掉某一个

 3.要完成:不能只去写样式去抽出来,这样太小了,需要看看是否有交互,等等,要完整性

(2)周期性迭代

 1.优秀的代码是模仿出来的

 2.优秀的代码是设计出来的

 3.优秀的代码是重构出来的

需求在变,产品在变,是不是模块化是不是有不合理的部分,这样需要不断开发的过程中,不断去迭代,

2.设计方法

(1)先整体后部分再颗粒化

 1.布局级别:先看大局(譬如移动端的布局,是怎么去布局,用这个布局去抽象出来几个模块)

 2.页面级别:页面页面之间的关联关系,譬如页面之间有公共的样式,这个时候布局模块里面的某一个样式

3.功能级别:譬如很多页面都有这个按钮,但是按钮的文本以及功能是不一样的,这个时候可以站在一个大的角度去思考问题,

写一个比较基础的按钮,通过继承,重写等方式去实现不同的按钮,那么这个基础的按钮就是一个功能组件了

4.业务级别:譬如页面中返回按钮,这个按钮通过继承功能按钮,就可以变成一个业务组件了

从上面看的出来是通过大到小的一个思路去写这个样式的

(2)先抽象再具体

譬如很多页面,有很多的模块,但是某一个模块其实是不一样的,这个时候不要具体去看不同的,而是把这些都看成相同的东西,只不过隐藏,或者增加了某一些模块的东西,这就是就可以抽离出一个组件了,然后这个组件是通过继承,重写,配置等等,实现成具体的某一个模块,这就是先抽象再具体的原理了、

3.代码实现

说了上面这么多,具体的实现是怎么样的

(1)基础样式

 reset.css layout.css element.css

这个三个样式,第一个是很普遍的样式,就是消除元素的一些样式,第二个是布局样式,这个样式的话是写页面的布局的样式

第三个样式是功能样式,譬如一个功能按钮的样式

(2)具体引用

 写好以上的样式的话,我们通过引入有两种方式

1.global:普遍的引入方式

 <style lang="scss">

  @import "../element.css"

 </style>

2.scope: 这种是为了防止相同名称,但是保证样式不一样的情况下选用的方式

 <style lang="scss" module>

  @import "../element.css"

 </style>

以上是基本的原理说明,下面会贴出代码,以及编写的思路

1.布局样式


2.功能样式。这里有三个:一个按钮,一个列表,一个面板


以上就是样式的部分,样式总结完了,接下来是总结js的写法了






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值