1 前端开发命名规范

1.1 为什么要制定CSS命名规范

统一的命名规范,便于多人开发维护时代码统一,减少项目沟通和交接的成本,增加代码的语义化。

1.2 CSS命名规则

  1. 样式类名全部用小写,首字符必须是字母,禁止数字或其他特殊字符。由以字母开头的小写字母(a-z)、数字(0-9)、中划线 (-)组成。

  2. 可以是单个单词,也可以是组合单词,要求能够描述清楚模块和元素的含义,使其具有语义化。避免使用 123456…,red,blue,left,right之类的(如颜色、字号大小等)矢量命名,如class="left-news"、class="2" ,以避免当状态改变时名称失去意义。尽量用单个单词简单描述class名称。

  3. 双单词或多单词组合方式:形容词-名词、命名空间-名次、命名空间-形容词-名词。例如:news-list、mod-feeds、mod-my-feeds、cell-title

1.3 Class 和 id的使用方法

把id留给后台开发和JS使用,除此之外页面的page id(如首页的外层需要一个ID id="pageIndex"),页面结构(header main footer)允许用id命名(ID命名建议使用驼峰命名)。其他禁止id使用在样式表CSS命名中,一律使用class命名。

1.4 命名空间

在编码思想上,我们可以将页面拆分成不同的层级(布局、模块、元件)。

什么是CSS命名空间?

通过统一的命名规范定义命名的范围,成为CSS class & id命名空间。

布局: 以语义化的单词layout作为命名空间,例如主栏布局命名 layout-main,只改变layout-命名空间后面的命名,layout始终保留。布局的命名空间为layout-xxx。

模块:页面是由一个或多个模块组成,模块的英文单词是module,规范简写成mod,如新闻模块mod-news,照片展示模块mod-photo-show。模块的命名空间为mod-xxx 。

元件:元件是属于模块内部的,也可以说模块是由元件和它内部的自有元素组成。如用户照片信息元件cell-user-photo。元件的命名空间为cell-xxx 。

1.5 通用命名

(1)页面框架命名,一般具有唯一性,推荐用ID命名

ID名称 命名 ID名称 命名
头部 header 主体 main
脚部 footer 容器 wrapper
侧栏 sideBar 栏目 column
布局 layout    

(2)模块结构命名

Class名称 命名 Class名称 命名
模块(如:新闻模块) mod (mod-news) 标题栏 title
内容 content 次级内容 sub-content

(3)导航结构命名

Class名称 命名 Class名称 命名
导航 nav 主导航 main-nav
子导航 sub-nav 顶部导航 top-nav
菜单 menu 子菜单 sub-menu

(4)一般元素命名

Class名称 命名 Class名称 命名
二级 sub 面包屑 breadcrumb
标志 logo 广告 bner(禁用banner或ad)
登陆 login 注册 register/reg
搜索 search 加入 join
状态 status 按钮 btn
滚动 scroll 标签页 tab
文章列表 list 短消息 msg/message
当前的 current 提示小技巧 tips
图标 icon 注释 note
指南 guide 服务 service
热点 hot 新闻 news
下载 download 投票 vote
合作伙伴 partner 友情链接 link
版权 copyright 演示 demo
下拉框 select 摘要 summary
翻页 pages 主题风格 themes
设置 set 成功 suc
按钮 btn 文本 txt
颜色 color/c 背景 bg
边框 border/bor 居中 center
top/t bottom/b
left/l right/r
添加 add 删除 del
间隔 sp 段落 p
弹出层 pop 公共 global/gb
操作 op 密码 pwd
透明 tran 信息 info
重点 hit 预览 pvw
单行输入框 input 首页 index
日志 blog 相册 photo
留言板 guestbook 用户 user
确认 confirm 取消 cancel
报错 error    

(5)全局皮肤样式

文字颜色(命名空间text-xxx)

text-c1, text-c2,text-c3……

背景颜色(命名空间bg -xxx)

bg-c1,bg-c2,bg-c3……

边框颜色(命名空间border-xxx)

border-c1,border-c2,border-c3……

html:class名命名规范的更多相关文章

  1. Github库名命名规范

    必要性说明 由于迁移到Github上的项目越来越多,对项目的管理越来越困难.由于各项目命名具有随意性,用之代表git仓库名后就很难快速回忆起这个项目的相关细节,通常需要不断打开某个库才能有所了解.因此 ...

  2. java中变量和标识符名命名规范

    变量存放的是内存地址,当定义一个变量后,我们可以通过变量名找到该内存地址,可以修改该内存区间的值. 标识符的命名规范:首字母:字母,下划线,$符号:其余部分:数字,字母,下划线,$. 标识符应该避开j ...

  3. java包名命名规范

    Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类.以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现. 由于 ...

  4. java中包名命名规范

    在idea中创建package遇到的问题 发现一个问题,当我创建一个lesson-02的package时,输入这个包名后,package自动变成了文件夹 在网上搜索发下java包名一般是小写字母进行命 ...

  5. java包名命名规范[【转】

    indi : 个体项目,指个人发起,但非自己独自完成的项目,可公开或私有项目,copyright主要属于发起者. 包名为“indi.发起者名.项目名.模块名.……”. pers : 个人项目,指个人发 ...

  6. 【学习笔记】Shell-1 变量:命名规范、变量赋值/取值/取消、局部变量/全局变量、预设环境变量

    1.Shell变量 从变量的实质上来说,变量名是指向一片用于存储数据的内存空间. Shell变量是一种弱类型的变量,即声明变量时不需要指定其变量类型,也不需求遵循“先声明再使用”的规定,想用即可用. ...

  7. 10分钟了解代码命名规范(Java、Python)

    前言 关于代码命名,我相信是经常困扰很多小伙伴的一个问题,尤其是对于强迫症晚期患者.怎么说呢,每次小编在写代码之前,总会在想啊想啊,用什么命名法好呢?对于经常在C++.Java.Python等主流语言 ...

  8. Java语言基本语法(一)————关键字&标识符(Java语言标识符命名规范&Java语言的包名、类名、接口名、变量名、函数名、常量名命名规则 )

    一.关键字 关键字的定义和特点 定义:被Java语言赋予特殊含义,用做专门用途的字符串(单词). 特点:关键字中所有字母均为小写 下面列举一些常用的关键字. 用于定义数据类型的关键字:byte.sho ...

  9. Android命名规范(重点讲解:包名)

    Android程序开发中,使用规范的命名有益于程序的开发和后期阅读.本文主要对Android程序包名的定义做详细介绍,并附带一些简单的命名规则. 一.标识符命名方法1 .小驼峰命名法,除首单词外,其余 ...

随机推荐

  1. CSS 文字概念小记

    1.水平居中: 更多的是指宽度的居中,margin: 0 auto; 2.垂直居中: 是指高度的居中 PS:这个两个慨念我老是搞混,今天记录一下,防止下次又忘了

  2. groupmod语法

    语法 groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称] 参数: -g <群组识别码> 设置欲使用的群组识别码. ...

  3. 剑指Offer 15. 反转链表 (链表)

    题目描述 输入一个链表,反转链表后,输出新链表的表头. 题目地址 https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca? ...

  4. 框架tensorflow3

    tensorflow3 tensorflow 可视化好帮手: tf.train.SummaryWriter报错,改为tf.summary.FileWriter 软件包安装yum install sql ...

  5. PC timeline

    https://news.microsoft.com/facts-about-microsoft/ 日期 事件               1975年 微软成立               1981年 ...

  6. 重建二叉树(JAVA)

    重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字. 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历 ...

  7. java应用:向用户注册的邮箱发送邮件

    实现功能 忘记密码,注册成功等向用户发送验证码信息或注册信息. 业务流程 忘记密码: 1.验证邮箱是否注册过: 2.向邮箱发送验证码: 3.验证验证码是否正确: 4.重新设置密码: 我这里着重介绍发送 ...

  8. day054 组件 CBV FBV 装饰器 ORM增删改查

    组件: ​ 把一小段HTML 放在一个HTML中 nav.html ​ 使用: ​ {% include ‘nav.html ’ %} 一. FBV 和CBV 1.FBV(function base ...

  9. bootstrap 模态框事件

    事件 描述 实例 show.bs.modal 在调用 show 方法后触发. $('#identifier').on('show.bs.modal', function () { // 执行一些动作. ...

  10. Hadoop-HBASE 热添加新节点

    Hadoop-HBASE 热添加新节点 环境:192.168.137.101 hd1192.168.137.102 hd2192.168.137.103 hd3192.168.137.104 hd4四 ...