如何写出更“美”的CSS代码?

原标题:如何写出更“美”的CSS代码?

关注

脚本之家

,与百万开发者在一起

来源 | ELab团队(ID:gh_b1857b91fe44)

已获得原公众号的授权转载

CSS(全称CascadingStyleSheets,层叠样式表)为开发人员提供声明式的样式语言,是前端必备的技能之一。基于互联网上全面的资料和简单易懂的语法,CSS非常易于学习,但其知识点广泛且分散,很难做到精通。在我们日常开发中,受限于原代码混乱、DDL将近等问题,常常忽视了CSS代码的质量,很容易写出杂乱无章的CSS文件。

代码优化建议

  1. 使用缩写属性精简代码

适用于:margin、padding、border、font、background等

但并非所有情况下都必须缩写,因为当一个属性的值缩写时,总是会将所有项都设置一遍,而有时候我们不希望设置值里的某些项,这时候需要开发者自行判断。

  1. 合并选择器

使用”,(逗号)”连接多个选择器定义公用属性,不仅能减小css文件大小,还能增加可读性。

为了更易于定位问题,逗号后换行。

  1. 使用更语义化的单词命名class

命名的时候以“在你之后开发的人不会产生疑惑”为目标

  1. 属性声明顺序

Reference:Bootstrap property order for Stylelint[1]

选择器中属性数量较多时,将相关的属性声明放在一起,并按以下顺序排列:

  1. Positioning:定位相关,如position、top/bottom/left/right、z-index等

  2. Box model:盒模型相关,如display、float、margin、width/height等

  3. Typographic:排版相关,如font、color、line-height等

  4. Visual:可视相关,如background、color等

  5. Misc:其他,如opacity、animation等

个人建议:在属性数量较多时可以参考这5个类别归类排列,至于顺序没必要太过纠结。

.declaration-order {

/* Positioning */

position: absolute;

top: 0;

right: 0;

bottom: 0;

left: 0;

z-index: 100;

/* Box-model */

display: block;

float: right;

width: 100px;

height: 100px;

/* Typography */

font: normal 13px“Helvetica Neue”, sans-serif;

line-height: 1.5;

color:#333;

text-align: center;

/* Visual */

background-color:#f5f5f5;

border: 1px solid#e5e5e5;

border-radius: 3px;

/* Misc */

opacity: 1;

}

  1. 使用