而涉及到具体的变量命名规范时,建议是使用BEM规范,只要遵循一些简单的原则即可以保证基于组件风格的命名一致性。你也可以参考CSS Tricks来获得更多的细节描述。
避免重复代码
大部分元素的CSS属性都是从DOM树根部继承而来,这也是其命名为级联样式表的由来。我们以font
属性为例,该属性往往是继承自父属性,因此我们并不需要再单独地为元素设置该属性。我们只需要在html
或者body
中添加该属性然后使其层次传递下去即可:
使用transform添加CSS Animations
不建议直接改变元素的width
与height
属性或者left/top/bottom/right
这些属性来达到动画效果,而应该优先使用transform()
属性来提供更平滑的变换效果,并且能使得代码的可读性会更好:
Transform的几个属性translate
、rotate
、scale
都具有比较好的浏览器兼容性可以放心使用。
不要重复造轮子
现在CSS社区已经非常庞大,并且不断地有新的各式各样的库开源出来。这些库可以帮助我们解决从小的代码片到用于构建完整的响应式应用的全框架。所以如果下次你再碰到什么CSS问题的时候,在打算撸起袖子自己上之前可以尝试在GitHUB或者CodePen上搜索可行方案。
尽可能使用低优先级的选择器
并不是所有的CSS选择器的优先级都一样,很多初学者在使用CSS选择器的时候都是考虑以新的特性去复写全部的继承特性,不过这一点在某个元素多状态时就麻烦了,譬如下面这个例子:
CSS123456789101112a{ color:#fff; padding:15px;} a#blue-btn { background-color:blue;} a.active { background-color:red;}