css命名和书写规范
前言
在项目开发中对于css名字的命名和书写老是感觉很混乱,这对于代码的可读性以及维护提出了挑战,所以在闲暇之余看了一些这方面的内容,现总结如下...
1.命名规则说明
- 所有的命名最好都小写
- 属性的值一定要用双引号("")括起来,且一定要有值如class="divcss5",id="divcss5"
- 每个标签都要有开始和结束,且要有正确的层次,排版有规律工整
- 空元素要有结束的tag或于开始的tag后加上"/"
- 表现与结构完全分离,代码中不涉及任何的表现元素,如style、font、bgColor、border等
- 给每一个表格和表单加上一个唯一的、结构标记id
- 给图片加上alt标签
- 尽量不缩写,除非一看就明白的单词,不知道的用翻译软件翻译一下
- 无论是使用“.”(小写句号)选择符号开头命名,还是使用“#”(井号)选择符号开头命名都无所谓,但我们最好遵循,主要的、重要的、特殊的、最外层的盒子用“#”(井号)选择符号开头命名,其它都用“.”(小写句号)选择符号开头命名
- 如果名字过长可以用中横线但是拒绝使用下划线(IE6以可能出现解析错误,为了区分JavaScript变量名)
bad
.miantitle { color: #e3c; } .mian_title { color: #e3c; }
good
.mian-title { color: #e3c; }
11.属性简写需要你非常清楚属性值的正确顺序,而且在大多数情况下并不需要设置属性简写中包含的所有值,所以建议尽量分开声明会更加清晰;margin 和 padding 相反,需要使用简写。更多详细规则请参考此文章bad
.list-box { border-top-style: none; font-family: aerif; font-size: 100%; line-height: 1.6; padding-bottom: 2em; padding-left: 1em; padding-right: 1em; padding-top: 0; }
good
.list-box { border-top: 0; font: 100%/1.6 aerif; padding: 0 1em 2em; }
12.去掉小数点后面的0bad
font-size: 0.8em;
good
font-size: .8em;
13.十六进制颜色代码缩写,并尽量用小写bad
color: #eebbcc;
good
color: #ebc;
14.不要随意用id
id在JS是唯一的,不能多次使用,而使用class类选择器却可以重复使用,另外id的优先级优先与class,所以id应该按需使用,而不能滥用
15.可以为选择器加状态前缀bad
.withdrawal { background-color: #ccc; }
good
.is-withdrawal { background-color: #ccc; }
16.项目命名的时候采用这种方式my_project_name
17.媒体查询规则靠近与他们相关的规则,不要将他们一起放到独立的样式文件中,具体可参考此文章
18.更多详细css书写规范可参考此文章1和此文章2
19.scss书写时应注意的问题可以参考此文章
2.命名参考表
网页外层
最外层:wrapper (页面外围控制整体布局宽度) 头部:header 主体内容(中部):main 左侧布局:main-left 右侧布局:main-right 导航条:nav 网页中部主体:content 底部:footer 菜单:menu
页面结构
#wrapper 页面外围控制整体布局宽度 #container或#content 容器,用于最外层 #head, #header 页头部分 #foot, #footer 页脚部分 #sidebar 侧边栏 #column 栏目 #left,#right,#center 左右中
导航
#nav 导航 #miannav 主导航 #subnav 子导航 #topnav 顶导航 #sidenar 边导航 #leftsidenav 左导航 #rightsidenav 右导航 #menu 菜单 #submenu 子菜单 #title 标题 #summary 摘要
功能
#logo 标志 #banner 广告 #login 登录 #loginbar 登录条 #regsiter 注册 #search 搜索 #shop 功能区 #title 标题 #joinus 加入 #status 状态 #btn 按钮 #s 滚动 #tab 标签页 #list 文章列表 #msg 提示信息 #current 当前的 #tips 小技巧 #icon 图标 #note 注释 #guild 指南 #service 服务 #hot 热点热门 #news 新闻 #download 下载 #vote 投票 #partner 合作伙伴 #friendlink 友情链接 #copyright 版权 #searchInput 搜索输入框 #search-output 搜索输出 #search-results 搜索结果 #branding 商标 #siteinfo 网站信息 #siteinfoLegal 法律声明 #siteinfoCredits 信誉 #arrow 箭头 #sitemap 网站地图 #homepage 首页 #subpage 二级页面子页面 #toolbar 工具条 #drop 下拉 #dropmenu 下拉菜单 需要用 class的命名 .tab 标签页 .left .right .center 居左、中、右 .news 新闻 .download 下载 .banner 广告条 .products 产品 .products_prices 产品价格 .products-description 产品描述 .products_review 产品评论 .editor_review 编辑评论 .news_release 最新产品 .publisher 生产商 .screenshot 缩略图 .faqs 常见问题 .keyword 关键词 ..blog 博客 .forum 论坛
3.css文件命名
global.css 全局 全局样式为全站公用,为页面样式基础,页面中必须包含 master.css style.css 主要的 module.css 模块 产品类页面应用,将可复用类模块进行剥离后,可与其它样式配合使用 base.css 基本共用 layout.css 布局,版面 页面结构类型复杂,并且公用类型较多时使用。多用在首页级页面和产品类页面中 themes.css 主题 实现换肤功能时应用 columns.css 专栏 font.css 文字,字体 forms.css 表单 mend.css 补丁 基于以上样式进行的私有化修补 print.css 打印 style.css 私有 独立页面所使用的样式文件,页面中必须包含
4.css属性声明顺序
详细的声明顺序可以参考此文章
- 位置属性(position, top, right, z-index,display, float等)
- 大小(width, height, padding, margin)
- 文字系列(font, line-height, letter-spacing,color- text-align等)
- 背景(background, border等)
- 其他(animation, transition等)
bad
.example { color: red; z-index: -1; background-color: #9e0; display: inline-block; font-size: 1.5em; }
good
.example { z-index: -1; display: inline-block; font-size: 1.5em; color: red; background-color: #9e0; }
感谢
此文我参考了如下作者写的文章,在此特别提出感谢,如果你在阅读我写的文章中有任何问题可以查阅如下链接:
相关推荐
vavid 2020-06-07
CSSEIKOCS 2020-06-07
yaodilu 2020-01-31
Remindhh 2013-05-14
zhanghao 2019-12-22
sanlingwu 2015-03-10
buttonChan 2017-11-20
JohnnyPig 2018-03-11
Juey 2013-06-11
xxuncle 2019-06-28
e度空间 2016-07-21
hcl 2016-01-18
hfszy0 2015-12-21
xvzhengyang 2015-12-21
李鴻耀 2015-09-02
starleejay 2015-03-10
libowen0 2019-06-27
yezi 2019-06-26
hlfsunshine 2014-04-01