一、总体缺陷概括
CSS文件中常常充斥着大量重复的定义,不但编写时很难组织,代码量庞大,而且随着项目规模的扩大,维护会越来越困难。
二、具体缺陷
1、无法定义变量
一些很常用的属性值无法将其赋值给变量,然后进行调用变量来进行使用。
2、重复代码
CSS的继承机制是根据HTML的层级关系来决定的,如果HTML文档中存在父子元素的关系,那么子元素可以继承父元素的部分属性,而没有父子关系的则不能进行继承。在很多情况下,几个元素拥有类似的定义,却没有父子关系,此时不得不定义大量重复的代码。
3、计算问题
CSS没有变量,也就谈不上计算。CSS一般都是自己算好固定值填写上去,当很多值是以某个值为基准进行变化,当这个基准值进行变化后,其他很多值都会进行相应的变化,此时相关的维护工作难度就会增大。
4、作用域和命名空间
CSS通过子元素选择器或后代元素选择器可以实现作用域和命名空间。