ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 前端编码规范 ## 命名规则 ### 文件目录命名 采用小写+下划线方式,命名要精简,最好用一个单词 例:addon ### JS文件命名 采用小写+下划线方式 例:common.js ### CSS文件命名 采用小写+下划线方式 例:common.css ### HTML文件命名 采用小写+下划线方式 例:index.html ## HTML ### 规范 1、缩进使用soft tab(4个空格); 2、嵌套的节点应该缩进; 3、在属性上,使用双引号,不要使用单引号; 4、属性名全小写,用中划线做分隔符,例:data-name; 5、不要忽略可选的关闭标签,例:</li>和</body> ### 引用CSS,JS 根据HTML5规范, 通常在引入CSS和JS时不需要指明 type,因为 text/css 和 text/javascript 分别是他们的默认值,可以省略。 css要写在{block name="resources"}{/block}中 例: {block name="resources"} <link rel="stylesheet" href="login.css" /> {/block} js要写在{block name="script"}{/block}中 例: {block name="script"} <script> ... </script> {/block} ### 减少标签嵌套 在编写HTML代码时,需要尽量避免多余的父节点; 尽量遵循HTML标准和语义,任何时候都要用尽量小的复杂度和尽量少的标签来解决问题。 ### 代码分离 HTML、CSS、JS要最大化分离,一个功能对应一个JS、CSS文件,复杂功能除外,如果某个功能img、js比较多,那就单独建立一个文件夹。 每个功能页面中不能有太多内联样式。 ## CSS ### 分号 每个属性声明末尾都要加分号。 ### 引号 最外层统一使用双引号; url的内容要用引号; 属性选择器中的属性值需要引号。 例: .logo{ background-image: url\("logo.png"\); } li\[data-type="single"\] { ... } ### 命名 类名使用小写字母,以中划线分隔; id采用驼峰式命名; scss中的变量、函数、混合、placeholder采用驼峰式命名; 例: /\* class \*/ .element-content { ... } /\* id \*/ \#myDlalog{ ... } /\* 变量 \*/ $colorBlack: \#000; /\* 函数 \*/ @function pxToRem\($px\) { ... } /\* 混合 \*/ @mixin centerBlock { ... } /\* placeholder \*/ %myDialog { ... } ### 属性简写 margin 和 padding 尽量用简写; 常见的属性简写包括: font background transition animation ### 杂项 不允许有空的规则; 元素选择器用小写字母; 去掉小数点前面的0; 去掉数字中不必要的小数点和末尾的0; 属性值'0'后面不要加单位; 无前缀的标准属性应该写在有前缀的属性后面; 不要在同个规则里出现重复的属性,如果重复的属性是连续的则没关系; 不要在一个文件里出现两个相同的规则; 用border: 0;代替border: none; 尽量少用'\*'选择器; ## JavaScript ### 分号 为了保障代码的稳定性,每行代码都要加分号 ### 命名 由于后端使用的是PHP语言,为了方便统一,js中的变量命名采用小写+下划线的方式,跟php变量名保持一致; 函数采用驼峰式命名; 常量全大写,用下划线连接; 构造函数采用驼峰式命名,首字母大写; jquery对象必须以'$'开头命名; ### 变量声明 变量声明:var(禁止用let,兼容性不好); 常量声明:const; ### 数组、对象 对象属性名不需要加引号; 例: var a = {b: 1}; 数组、对象最后不要有逗号。 ## 字体图标 在使用图片时,优先使用字体图标,减少代码体积,运行效率 字体图标统一在iconfont.css中维护 ![](https://images.gitee.com/uploads/images/2020/0510/092019_f4fc7d94_755161.png) 如果没有满足的图标,可以进行添加 [https://www.iconfont.cn/](https://www.iconfont.cn/) ## 类名引用 ### 文字尺寸 #### ns-font-size-sm(12px) #### ns-font-size-base\(14px\) #### ns-font-size-lg\(16px\) ### 文字颜色 #### ns-text-color \(主色调\) #### ns-text-color-red\(红色\) 用于提示 #### ns-text-color-black(黑色) #### ns-text-color-gray(灰色) #### ns-text-color-light-gray\(浅灰色\) #### ns-text-color-dark-gray(深灰色) ### 边框颜色 #### ns-border-color(主色调) #### ns-border-color-gray(灰色) ### 背景颜色 #### ns-bg-color(主色调) #### ns-bg-color-gray(灰色) #### ns-bg-color-light-gray\(浅灰色\) #### ns-bg-color-dark-gray(深灰色)