关于该如何给CSS命名

说到CSS命名,其实里面还有有很多思考的空间的。
经过我短浅的见识,以下谈谈我对于CSS命名的一些了解和见解。

其中,我发现有两种风格对立的命名方法。

  • 面对元素命名

    这是一种比较普遍的做法。
    给元素设定类名的时候,尽可能的语义化,贴近元素本身。
    比如在给左边栏的头部空间定义类名的时候,
    可能会做出 .side-left-header 这样的类名,
    这样命名的好处是,样式表只用一个类名就可以定位元素,
    而且一眼就能看出这是为哪个元素设定样式,
    维护起来比较方便,省去很多查找时间。
    但是缺点也比较明显,
    类名太长,有时候可能类名比要设定的属性还要长。
    另外就是复用性的问题,
    若当有另一个元素,也与它有相同的属性表现,
    又要重新设置一个类名,并且内容还是一样的。
    这听起来就比较恶心了吧。

  • 面对属性命名

    而另一个与之相反的方案,
    就是把CSS属性都打散,
    为一种属性设置设置一个类名,比如

    .fs16 { font-size: 16px; }
    .fs20 { font-size: 20px; }
    .m10 { margin: 10px; }
    .p20 { padding: 20px; }
    

    这样的CSS命名方法,
    明显缩短了类名的长度,也大大提高了代码的复用性。
    在一些属性重复比较多的项目里,把CSS文件压缩到了极致。
    但是,如果使用这样的CSS命名方式,
    HTML文档中也多出了许多class代码。
    而且当需要修改样式时,是需要查找HTML文件修改的。

  • 还有一种风格

    另外,还有一种 “ 超脱于尘世 ” 的命名方法。

    .a {height: 100px;}
    .b {font-size: 2em;}
    .z {background: none;}
    

    这种命名简直就是简单粗暴,
    每一个类名相当于只是一个标志,并没有任何意义。
    这种极度简洁的命名方式其实还是可以接受的。
    在一些不需要语义,不需要考虑维护性的地方,
    可以带来相当大的便利甚至眼前一亮。

  • 综上所述,说点总结。

两种命名规则,都各有各的优点,当同时缺点也比较明显,
面对元素命名,清晰但臃肿,
面对属性命名,高效但维护成本高。

其实,两种规则看似矛盾,但我举得还是可以适当揉合
以元素命名为基础,在一些复用性比较高的属性上,
把它们提取出来,单独作为一个类,方便重复使用。

虽然说起来简单,这还是需要不少的经验和功力的,
最主要的我觉得还是这个意识吧。

应该有个大局意识,从着手之前就该有个概念,
哪些属性复用性比较高,提前把它拎出来。
我觉得我首先可以从 .clear .in-block 等元素开始。

  • 最后稍稍附一些命名规范

命名 内容
重要部分
外套 wrap 用于最外层
头部 header 用于头部
主要内容 main 用于主体内容(中部)
左侧 main-left 左侧布局
右侧 main-right 右侧布局
导航条 nav 网页菜单导航条
内容 content 用于网页中部主体
底部 footer 用于底部
具体元素
wrapper 页面外围控制整体布局宽度
container或content 容器,用于最外层
layout 布局
head, header 页头部分
foot, footer 页脚部分
nav 主导航
subnav 二级导航
menu 菜单
submenu 子菜单
sideBar 侧栏
sidebar-a, sidebar-b 左边栏或右边栏
main 页面主体
tag 标签
msg message 提示信息
tips 小技巧
vote 投票
friendlink 友情连接
title 标题
summary 摘要
loginbar 登录条
searchInput 搜索输入框
hot 热门热点
search 搜索
search-output 搜索输出和搜索结果相似
searchBar 搜索条
search-results 搜索结果
copyright 版权信息
branding 商标
logo 网站LOGO标志
siteinfo 网站信息
siteinfoLegal 法律声明
siteinfoCredits 信誉
joinus 加入我们
partner 合作伙伴
service 服务
regsiter 注册
arr/arrow 箭头
guild 指南
sitemap 网站地图
list 列表
homepage 首页
subpage 二级页面子页面
tool, toolbar 工具条
drop 下拉
dorpmenu 下拉菜单
status 状态
scroll 滚动
.tab 标签页
.left .right .center 居左、中、右
.news 新闻
.download 下载
.banner 广告条(顶部广告条)



这篇文章其实是启发自大神——张鑫旭的精简高效的CSS命名准则

同时还有另一篇文章可以参考——DIV+CSS规范命名大全集合




Wait me back

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,748评论 1 92
  • 本课来自http://www.imooc.com/learn/9请不要用作商业用途。 HTML5 HTML介绍 H...
    PYLON阅读 3,223评论 0 5
  • CSS基础 本文包括CSS基础知识选择器(重要!!!)继承、特殊性、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 3,077评论 0 40
  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 2,641评论 0 30
  • 未来无法把握 年纪越来越大,好像很多事情越来越无法把握。很多事情不是想就能够做到的,很多事很多人终究要放弃。...
    爱做白日梦的加菲阅读 145评论 0 0