CSS编写时的高性能以及高维护性代码优化建议总结

2020-05-03 11:29:13易采站长站整理

这里说说如何依照选择符的权重定义合适的选择符:

(1)尽量不使用ID选择器

一个页面中不允许定义两个同样的ID,而且ID选择器权重很高,如果要覆盖使用了ID选择器的元素样式,就必须在其元素上添加新的选择符,或使用!important,这样的结果会使无法重用的样式代码变得更多。最佳实践是尽可能使用较低权重的选择符作为基础样式。

(2)减少子选择器的层级

也是降低子选择符整体权重的过程,同时,层级越少,对html结构的依赖就越低。引起Css层级过多的另外一个原因是sass、less等工具的滥用,这也是我本人在使用之初就有意识到的问题,因为你可以使用嵌套和引用等方式来定义样式了,这样以来给自己省了很多功夫,但文件最终还是要编译出来,我们不用反复的敲那么多代码了,但生成的代码依然还是会很多,所以,方便了自己的同时依然要特别注意减少选择器层级。

(3)使用组合的css类选择器

使用这种方式,开发者可以不用考虑css样式覆盖的问题,避开了计算选择符权重的过程,同时提高了代码的重用性,组合的概念是把一个复杂的父类中的可变部分和稳定部分分割开来,稳定部分作为主体类,可变部分分成几个简单的类,类与类之间没有继承,同样可以起到减少对html结构的依赖,提高代码重用性的作用。

如何兼容IE浏览器?

IE8及以下版本的IE浏览器一直是前端开发人员心中的痛。为了兼容它们做额外添加的代码成为hack代码,往往人们都不想去写那些代码。以下是兼容IE浏览器的一些实践方法。

(1)熟悉IE浏览器中常见的样式兼容问题

一类是浏览器本身的bug,一类是和标准不兼容或还不支持标准。

(2)分离样式兼容代码

按照浏览器的不同版本组织代码文件,然后使用判断语句,按需加载

em、px还是%?

谈及这个话题的原因是,如今页面功能变得越来越多,用来访问页面的设备越来越多,页面的布局就是一个颇具挑战的事情,而页面当中的元素的尺寸和字体、图片的大小等也跟布局息息相关。鉴于此,前端开发开始重视如何提高页面布局,核心思想是将页面元素的尺寸和字体大小设置为相对值。字体相对单位包括:em、ex、ch、rem。更多内容无需赘述,有更多的资料来讲解。下面给出几个最佳实践:

(1)尽量设置相对尺寸

所谓设置相对尺寸,并不是说页面整体的布局是自适应的,整体的尺寸可以是固定尺寸也可以是自适应的尺寸,这取决于页面的设计。

(2)只有在可预知元素尺寸的情况下才使用绝对尺寸