整理的一些前端代码规范系列 -- css规范

一.命名规范(BEM规范)
BEM规范是一种主流的css命名规范,BEM分别对应的是block , element 和 modifier,为的是结束混乱的命名方式,达到一个语义化的CSS命名方式。

1.1 什么是Block
在BEM规范中,block(块)表示一个组件的意思,假设你要写一个按钮的组件,只需要设置一个 .button 类的按钮,然后可以在任何按钮上使用该类,就可以生成该组件的传统样式。在BEM 中,块被写为和 class 的名字一样,如下所示:

.button {
}

.header {
}
复制代码

BEM 使用 .button 而不是直接使用

/* bad */

复制代码

二.属性值
2.1 数值

当数值为 0 - 1 之间的小数时,建议省略整数部分的 0。

/* good */
.panel {
  opacity: .8
}

/* bad */
.panel {
  opacity: 0.8
}
复制代码

2.2 长度
当长度为 0 时建议省略单位。

/* good */
.list {
  padding: 0 5px;
}

/* bad */
.list {
  padding: 0px 5px;
}
复制代码

2.3 颜色
建议不使用命名色值。

/* good */
.button--success {
  color: #90ee90;
}

/* bad */
.button--success {
  color: lightgreen;
5.2 字重
[强制] font-weight 属性必须使用数值方式描述。
复制代码

2.4 清除浮动
建议当元素需要撑起高度以包含内部的浮动元素时,通过对伪类设置 clear 或触发 BFC 的方式进行 clearfix。尽量不使用增加空标签的方式。

2.5 !important
除公共样式之外,在业务代码中尽量不能使用 !important

2.6 z-index
建议将 z-index 进行分层,对文档流外绝对定位元素的视觉层级关系进行管理。

三.字体排版
3.1 字号

因为 Windows 的字体渲染机制,小于 12px 的文字显示效果极差、难以辨认。所以在 Windows 平台显示的中文内容,其字号应不小于 12px。

3.2 字重
font-weight 属性建议使用数值方式描述。

/* good */
h1 {
   font-weight: 700;
}

/* bad */
h1 {
   font-weight: bold;
}
复制代码

3.3 行高
line-height 在定义文本段落时,应使用数值。将line-height 设置为数值,浏览器会基于当前元素设置的 font-size 进行再次计算。在不同字号的文本段落组合中,能达到较为舒适的行间间隔效果,避免在每个设置了 font-size 都需要设置line-height。如果line-height 用于控制垂直居中,应该设置成与容器高度一致。


/* good */
 .container {
   line-height: 1.5;
 }
 

/* bad */
.container {
   line-height: 15px;
 }
复制代码

四.选择器相关
4.1 不要为 id、class 选择器添加类型选择器

既不太美观之外,同时也会影响性能。

/* good */
#error,.message {
  font-color: #c00;
}

/* bad */
input#error,p.message {
  font-color: #c00;
}
复制代码

如果你现在也想学习前端开发技术,在学习前端的过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,你都可以加入到我的Q群中:前114中6649后671,里面有许多前端学习资料以及2020大厂面试真题 点赞、评论、转发 即可免费获取,希望能够对你们有所帮助。

你可能感兴趣的:(前端基础,前端面试,前端项目)