css编码规范

缩进

  • 使用 4 个空格做为一个缩进层级,不允许使用 2 个空格 或 tab 字符。
.selector {
    margin: 0;
    padding: 0;
}

属性

  • 属性定义必须另起一行。
/* good */
.selector {
    margin: 0;
    padding: 0;
}
/* bad */
.selector { margin: 0; padding: 0; }
  • 属性选择器中的值必须用双引号包围。
/* good */
input[name="juliet"] {
    voice-family: "Vivien Leigh", victoria, female;
}
/* bad */
input[name='juliet'] {
    voice-family: "Vivien Leigh", victoria, female;
}
  • 属性定义后必须以分号结尾。
/* good */
.selector {
    margin: 0;
}
/* bad */
.selector {
    margin: 0
}

选择器

  • 为选择器分组时,将单独的选择器单独放在一行
/* good */
.post,
.page,
.comment {
    line-height: 1.5;
}
/* bad */
.post, .page, .comment {
    line-height: 1.5;
}
  • 如无必要,不得为 id、class 选择器添加类型选择器进行限定,在性能和维护性上,都有一定的影响。
/* good */
#error,
.danger-message {
    font-color: #c00;
}
/* bad */
dialog#error,
p.danger-message {
    font-color: #c00;
}
  • 尽量减少直接使用标签选择器
/* good */
.nav{ color:#ddd; }
/* bad*/
nav{ color:#ddd; }
  • 选择器的嵌套层级应不大于 3 级
/* good */
#username .inp{}
.comment .avatar {}
/* bad */
.page .header .login #username input {}
.comment div * {}

属性缩写

  • 在可以使用缩写的情况下,尽量使用属性缩写。
    使用 border / margin / padding 等缩写时,应注意隐含值对实际数值的影响
/* good */
.post {
    font: 12px/1.5 arial, sans-serif;
}
/* bad */
.post {
    font-family: arial, sans-serif;
    font-size: 12px;
    line-height: 1.5;
}
  • 属性书写顺序
    同一 rule set 下的属性在书写时,应按功能进行分组,并以 Formatting Model(布局方式、位置) > Box Model(尺寸) > Typographic(文本相关) > Visual(视觉效果) 的顺序书写,以提高代码的可读性。
    1.Formatting Model 相关属性包括:position / top / right / bottom / left / float / display / overflow 等
    2.Box Model 相关属性包括:border / margin / padding / width / height 等
    3.Typographic 相关属性包括:font / line-height / text-align / word-wrap 等
    4.Visual 相关属性包括:background / color / transition / list-style 等
.sidebar {
    /* formatting model: positioning schemes / offsets / z-indexes / display / ...  */
    position: absolute;
    top: 50px;
    left: 0;
    overflow-x: hidden;

    /* box model: sizes / margins / paddings / borders / ...  */
    width: 200px;
    padding: 5px;
    border: 1px solid #ddd;

    /* typographic: font / aligns / text styles / ... */
    font-size: 14px;
    line-height: 20px;

    /* visual: colors / shadows / gradients / ... */
    background: #f5f5f5;
    color: #333;
    -webkit-transition: color 1s;
            transition: color 1s;
}

文本

  • 中文网站默认字体微软雅黑,英文网站默认Arial,在进行多语言版本网站制作时注意修改body中的字体。
/*中文*/
body{ font-family:"Microsoft YaHei"; }
/*英文*/
body{ font-family:Arial; }
  • 需要在 Windows 平台显示的中文内,无衬线字族不小于13px 衬线字族不小于12px。(企业站默认13px)
  • 行高
    line-height 在定义文本段落时,应尽量使用em 相对单位。
    全局默认行高1.5

注释

代码是由人编写并维护的。请确保你的代码能够自描述、注释良好并且易于他人理解。

  • 请在样式表头部添加注释,填写开发者姓名检索,方便后期调整对号入座
/*
 * author: gjx
 * date: 2017-02-16
 */
  • 功能区块,页面添加注释
/*产品详情*/
/*产品列表*/
/*新闻详情*/
/*新闻列表*/
  • 后期调整样式表添加修改日期 和修改人注释
/*fix on 2017-02-16 by gjx*/
.nav { width:200px; }
  • 多人协作时,要加各自姓名注释,且注意class命名冲突问题。

class 命名

  • 避免过度任意的简写。.btn 代表 button,但是 .s 不能表达任何意思。
  • class 名称应当尽可能短,并且意义明确。形式以下划线链接单词,单词应 页面模块功能或位置 news_top ,news_left
  • id 小驼峰 newTop

CSS样式适度分离----

.mb10{ margin-bottom:10px;}
.pb10{ padding-bottom:10px;}

企业站常见命名可参考

wrapper 页面外围控制整体布局宽度
container或#content  容器,用于最外层
layout  布局
head, #header   页头部分
foot, #footer   页脚部分
nav 主导航
sub_nav 二级导航
menu    菜单
sub_menu    子菜单
side_bar    侧栏
main    页面主体
tag 标签
msg message 提示信息
tips    小技巧
vote    投票
friendlink  友情连接
title   标题
summary 摘要
loginbar    登录条
search_input    搜索输入框
hot 热门热点
search  搜索
search_output   搜索输出和搜索结果相似
search_bar  搜索条
search_results  搜索结果
copyright   版权信息
branding    商标
logo    网站LOGO标志
siteinfo    网站信息
siteinfo_legal  法律声明
siteinfo_credits    信誉
joinus  加入我们
partner 合作伙伴
service 服务
regsiter    注册
arr/arrow   箭头
guild   指南
sitemap 网站地图
list    列表
home_page   首页
sub_page    二级页面子页面
tool, toolbar   工具条
drop    下拉
dorp_menu   下拉菜单
status  状态
scroll  滚动
tab 标签页
news    新闻
news_detail 新闻详情
download    下载
banner  首页banner
channel_ban  内页banner
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容

  • CSS编码规范 1 前言 CSS作为网页样式的描述语言,在百度一直有着广泛的应用。本文档的目标是使CSS代码风格保...
    春木橙云阅读 271评论 0 0
  • CSS编码规范 1 前言 CSS 作为网页样式的描述语言,在百度一直有着广泛的应用。本文档的目标是使 CSS 代码...
    Top_Chenxi阅读 164评论 0 0
  • 1 代码风格 1.1 文件 [建议] css使用无BOM的UTF-8编码。 解释:UTF-8 编码具有更广泛的适应...
    你说的独品阅读 267评论 0 0
  • 我一直觉得摆渡人是张嘉佳写过的最好的故事,首映那天看了《摆渡人》,顿觉这是王家卫拍过的最烂的电影。然后我今天又二刷...
    文亦小段阅读 2,565评论 9 13
  • 生活就像炒菜,太着急,不熟;不仔细翻炒,不匀;忘记加水,糊锅;生活需要加“水”慢慢地,仔细认真地经营。[呲牙]
    金石已开阅读 152评论 0 0