通用的 CSS 命名惯例

在参与规模庞大、历时漫长、且参与人数众多的项目时,要确保每一行代码都像是同一个人编写的;这就要求所有开发者,都遵守相同的代码规范。在先前的文章前端项目开发规范意见,从宏观角度,对前端开发提出了些许建议。本问就 “CSS 命名“这一普遍性难题,做下探讨。

通用规则

  • 保持 CSS 易于维护;
  • 保持代码清晰易懂;
  • 保持 CSS 的可拓展性;

为实现这一目标,无数仁人志士,贡献了大量的方案,如 CSS 预处理、CSS Framework(tailwindcss)、Postcsscss-modules、以及 CSS 命名规范(BEM)等等;但是否能达成目标,还是得取决于写代码的人;有挑选性整理一些 CSS 代码规范,以供参考:

通用 CSS 命名

文本命名规范

名称 描述
index.css 一般用于首页建立样式
head.css 头部样式,当多个页面头部设计风格相同时使用
base.css 共用样。
style.css 独立页面所使用的样式文件
global.css 页面样式基础,全局公用样式,页面中必须包含
layout.css 布局、版面样式,公用类型较多时使用
module.css 模块,用于产品类页,也可与其它样式配合使用
master.css 主要的样式表
columns.css 专栏样式
themes.css 主体样式
forms.css 表单样式
mend.css 补丁,基于以上样式进行的私有化修补

页面结构命名

名称 描述
page 代表整个页面,用于最外层
wrap 外套,将所有元素包在一起的一个外围包,用于最外层
wrapper 页面外围控制整体布局宽度,用于最外层
container 一个整体容器,用于最外层
head,header 页头区域,用于头部
nav 导航条
content 内容,网站中最重要的内容区域,用于网页中部主体
main 网站中的主要区域(表示最重要的一块位置),用于中部主体内容
column 栏目
sidebar 侧栏
foot,footer 页尾、页脚。网站一些附加信息放置区域

功能命名

名称 描述
logo 标记网站logo标志
banner 标语、广告条、顶部广告条
login 登录
loginbar 登录条
register 注册
tool, toolbar 工具条
search 搜索
searchbar 搜索条
searchlnput 搜索输入框
shop 功能区,表示现在的
icon 小图标
label 商标
homepage 首页
subpage 二级页面子页面
hot 热门热点
list 文章列表
scroll 滚动
tab 标签
sitemap 网站地图
msg 或 message 提示信息
current 当前的
joinus 加入
status 状态
btn 按钮
tips 小技巧
note 注释
guild 指南
arr, arrow 标记箭头
service 服务
breadcrumb 即页面所处位置导航提示
download 下载
vote 投票
siteinfo 网站信息
partner 合作伙伴
link, friendlink 友情链接
copyright 版权信息
siteinfoCredits 信誉
siteinfoLegal 法律信息

导航命名

名称 描述
nav, navbar, navigation 导航条或导航包
topnav 顶部导航
mainbav 主导航
subnav 子导航
sidebar 边导航
leftsidebar 左导航
rightsidebar 右导航
title 标题
summary 摘要
menu 菜单
submenu 子菜单
drop 下拉
dorpmenu 下拉菜单
links 链接菜单

来源: https://quickapp.lovejade.cn/generic-css-naming-convention/

通用CSS命名惯例的更多相关文章

  1. 通用CSS命名规范

    一.文件命名规范 样式文件命名主要的 master.css布局,版面 layout.css专栏 columns.css文字 font.css打印样式 print.css主题 themes.css [/ ...

  2. CSS代码命名惯例语义化的方法

    CSS代码的命名惯例一直是大家热门讨论的话题.今天暴风彬彬想通过分析一个流行三栏布局中的必要元素,来为大家讲解关于使用语义化方法替代结构化方法来命名CSS类的建议和指导. 您还可以参考彬Go的相关文章 ...

  3. (转)面向属性的CSS命名

    原文链接:戳这里 自从开始做前端开发以来,我发现在开发页面的时候,总是有一个问题十分影响自己的开发效率,这个问题就是css的命名,主要是指css类选择器的命名.这个问题主要体现在:第一,有的内容你压根 ...

  4. 面向属性的CSS命名

    自从开始做前端开发以来,我发现在开发页面的时候,总是有一个问题十分影响自己的开发效率,这个问题就是css的命名,主要是指css类选择器的命名.这个问题主要体现在:第一,有的内容你压根想不出用什么名字来 ...

  5. 精简高效的css命名准则

    对于css,为了避免样式冲突,我们总会赋予相当特殊的命名,或是在选择符上添加html标记,或是使用层级.我们为避免在冲突上做文章,就会把代码的命名变得复杂化. 如果css的重用性越高,相比就越高效.如 ...

  6. html,css命名规范 (转)

    HTML+CSS命名规范总结 1.HTML部分 1.1添加必须的utf-8的字符集,并且使用HTML5的简洁 方式: <meta charset="utf-8"> 1. ...

  7. 常用的css命名规则

    头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left rig ...

  8. [css] 【转载】 精简高效的CSS命名准则/方法

    原文链接:http://www.zhangxinxu.com/wordpress/2010/09/%E7%B2%BE%E7%AE%80%E9%AB%98%E6%95%88%E7%9A%84css%E5 ...

  9. CSS命名实践

    前面的话 每次写HTML结构涉及到CSS命名时,都要挣扎一番.关于CSS命名的规范,市面上有不少,如OOCSS.SMACSS.BEM和MVCSS等.在这里面最火的应该算BEM了.本文将详细介绍CSS命 ...

  10. 知乎网的CSS命名规律研究

    笔者是一名Java程序员,前端css和图片本不是我的工作,亦不是我的强项.但很多时候,公司并没有合适的美工,只有自己动手.一般的css技术,倒是没有问题,定位,盒子,浮动,布局等等,都能做.但每每完成 ...

随机推荐

  1. 【AD21】软件基础

    1.AD21最后生成什么文件打板子? 生成gerber文件 2.一个工程包括什么? 原理图库,原理图,PCB库,PCB 3.距离单位? 默认是mil,1mm约为40mil 4.软件中PCB层? 表层焊 ...

  2. K8S群集调度器

    目录: 调度约束 Pod启动典型创建过程 调度过程 Predicate常见的算法 常见的优先级选项 指定调度节点 亲和性 键值运算关系 Pod亲和性和反亲和性 污点和容忍 污点 容忍 其他注意事项 c ...

  3. C 标准 C89/C90/C99/C11/C17

    C89/C90 PDF:https://www.yodaiken.com/wp-content/uploads/2021/05/ansi-iso-9899-1990-1.pdf C99 PDF:htt ...

  4. 将本地文件推送到Gitee仓库

    完整的步骤 1.在gitee中创建仓库 2.下载.安装git 3.推送文件到gitee 推送文件到gitee 1.在要上传的文件夹空白处,点击右键,选择 git bash here 2.输入 git ...

  5. MQTT QoS 0, 1, 2 介绍

    什么是 QoS 很多时候,使用 MQTT 协议的设备都运行在网络受限的环境下,而只依靠底层的 TCP 传输协议,并不能完全保证消息的可靠到达.因此,MQTT 提供了 QoS 机制,其核心是设计了多种消 ...

  6. Vue项目在IE报错SCRIPT1003: 缺少' : ',导致页面空白的解决方案

    一.问题 用IE浏览器访问系统,页面显示空白,控制台报错 SCRIPT1003: 缺少' : ' 二.查看报错        2.1.点击控制台报错,进入app.js,咋一看代码看不懂,不要慌,一直往 ...

  7. Keil51单片机解决数字显示不稳的问题

    Keil51单片机解决数字显示不稳的问题 数字显示不稳,就是我们人眼的特点决定的,0.1秒的残留现象,低于这个值人眼发现不了其中变化,大于这个值就会出现同一个数字闪烁的现象.解决的方法就是所有数字,第 ...

  8. wpf DataGrid相关总结

    1.去掉外边蓝框,设置BorderThickness="0"

  9. go组合

    package main import "fmt" func main() { aa := []string{"a", "b", " ...

  10. Oracle JDK 和 OpenJDK 有什么区别?

    OpenJDK是Sun在2006年末把Java开源而形成的项目,这里的"开源"是通常意义上的源码开放形式,即源码是可被复用的,例如IcedTea.UltraViolet都是从Ope ...