如何定义公共组件的公共样式,
方法一:css modules,即提供出主题枚举,所有可枚举的主题一律由组件内封装,好处在于各主题可以被大量重用,并且在一处维护,不会散落在七七八八的项目内,维护时也只需要修改该公共组件即可,对于写组件的人来讲,并不会成为负担,因为他只需要关心该组件的功能和外观,而不关心具体复杂的繁琐的业务!就像我们去工厂买手机,各种型号外观都是配置好的,开箱即用。
metro-ui即采用这种方式,支持98/xp/win10三种主题,可通过application全局记忆切换样式
首推这种方式开发,缺陷,不支持ie8及以下浏览器。
方法二:全局样式,也称公共样式,也就是直接写静态样式名称,
缺陷,
警惕名称污染
警惕样式错误层叠
警惕各项目散落的不易于维护
警惕cdn加载,需要手动载入样式表,并注意链接性能。
方法三,通过属性传入样式,支持组件定义缺省样式,结合了方法一和二,缺点就是方法一的一部分缺陷和方法二的一部分缺陷,比如兼容,比如没有集中管理样式,
方法四,剥离UI层封装样式,如css bootstrap,缺陷很多,等等,就不细说了,
所有方法都可以结合一起交叉使用,各有缺陷,没有完美的方法...