CSS书写规范

这个可以慢慢来积累。。。。。。

网易NEC

CSS书写顺序

1.位置属性(position, top, right, z-index, display, float等)
2.大小(width, height, padding, margin)
3.文字系列(font, line-height, letter-spacing, color- text-align等)
4.背景(background, border等)
5.其他(animation, transition等)

(也可以按首字母排序)

CSS书写规范--使用CSS缩写属性

CSS有些属性是可以缩写的,比如padding,margin,font等等,这样精简代码同时又能提高用户的阅读体验。

去掉小数点前的“0”

简写命名

很多用户都喜欢简写类名,但前提是要让人看懂你的命名才能简写哦!id 和 class 应该尽量简短,同时要容易理解。

使用有含义的 id 和 class 名称。

16进制颜色代码缩写

有些颜色代码是可以缩写的,我们就尽量缩写吧,提高用户体验为主。

连字符CSS选择器命名规范

1.长名称或词组可以使用中横线来为选择器命名。

2.不建议使用“_”下划线来命名CSS选择器,为什么呢?

 ·  输入的时候少按一个shift键;
 ·  浏览器兼容问题 (比如使用_tips的选择器命名,在IE6是无效的)
 ·  能良好区分JavaScript变量命名(JS变量命名是用“_”)

这里有一篇破折号与下划线的详细讨论,英文:点击查看   中文篇:点击查看

不要随意使用Id

id在JS是唯一的,不能多次使用,而使用class类选择器却可以重复使用,另外id的优先级优先与class,所以id应该按需使用,而不能滥用。

为选择器添加状态前缀

有时候可以给选择器添加一个表示状态的前缀,让语义更明了,比如下图是添加了“.is-”前缀。可以防止命名冲突,同时提高代码可维护性。

选择器

除非需要,否则不要在 id 或 class 前加元素名。

/* 不推荐 */
ul#example {}
div.error {}
/* 推荐 */
#example {}
.error {}

0 和单位

值为 0 时不用添加单位。

margin: 0;
padding: 0;

声明结束

每行 CSS 都应以分号结尾。

属性名结尾

属性名和值之间都应有一个空格。

/* 不推荐 */
h3 {
font-weight:bold;
}
/* 推荐 */
h3 {
font-weight: bold;
}

声明样式块的分隔

在选择器和 {} 之间用空格隔开。

选择器分隔

每个选择器都另起一行。

/* 不推荐 */
a:focus, a:active {
position: relative; top: 1px;
}
/* 推荐 */
h1,
h2,
h3 {
font-weight: normal;
line-height: 1.2;
}

CSS 引号

属性选择器和属性值用单引号,URI 的值不需要引号。

/* 不推荐 */
@import url("//www.google.com/css/maia.css");

html {
font-family: "open sans", arial, sans-serif;
}
/* 推荐 */
@import url(//www.google.com/css/maia.css);

html {
font-family: 'open sans', arial, sans-serif;
}

CSS命名规范(规则)--常用的CSS命名规则

头:header
内容:content/container
尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体佈局宽度:wrapper
左右中:left right center
登录条:loginbar
标志:logo
广告:banner
页面主体:main
热点:hot
新闻:news
下载:download
子导航:subnav
菜单:menu
子菜单:submenu
搜索:search
友情链接:friendlink
页脚:footer
版权:copyright
滚动:scroll
内容:content
标签:tags
文章列表:list
提示信息:msg
小技巧:tips
栏目标题:title
加入:joinus
指南:guide
服务:service
注册:regsiter
状态:status
投票:vote
合作伙伴:partner

注释的写法:

/* Header */
内容区
/* End Header */

Id的命名:

(1)页面结构

容器: container
页头:header
内容:content/container
页面主体:main
页尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体佈局宽度:wrapper
左右中:left right center

(2)导航

导航:nav
主导航:mainnav
子导航:subnav
顶导航:topnav
边导航:sidebar
左导航:leftsidebar
右导航:rightsidebar
菜单:menu
子菜单:submenu
标题: title
摘要: summary

(3)功能

标志:logo
广告:banner
登陆:login
登录条:loginbar
注册:register
搜索:search
功能区:shop
标题:title
加入:joinus
状态:status
按钮:btn
滚动:scroll
标籤页:tab
文章列表:list
提示信息:msg
当前的: current
小技巧:tips
图标: icon
注释:note
指南:guild
服务:service
热点:hot
新闻:news
下载:download
投票:vote
合作伙伴:partner
友情链接:link
版权:copyright

注意事项::

1.一律小写;
2.尽量用英文;
3.不加中槓和下划线;
4.尽量不缩写,除非一看就明白的单词。

CSS样式表文件命名

主要的 master.css
模块 module.css
基本共用 base.css
布局、版面 layout.css
主题 themes.css
专栏 columns.css
文字 font.css
表单 forms.css
补丁 mend.css
打印 print.css

20170311 

所有的命名用小写的英文单词
不使用简单的方位词直接命名,如"left","bottom"
不缩写单词,除非一看就明白的单词
长名称或词组可以使用下划线作为连接符
避免选择器嵌套层级过多,少于3级
不要随意使用id,id应该按需使用,而不能滥用
使用CSS缩写属性 ,比如padding:0 10px 5px 5px等等,这样精简代码同时又能提高用户的阅读体验。

命名参考如下:

CSS样式命名说明
网页公共命名
wrapper 页面外围控制整体布局宽度
container或content 容器,用于最外层
layout 布局
head, header 页头部分
foot, footer 页脚部分
nav 主导航
sub_nav 二级导航
menu 菜单
sub_menu 子菜单
side_bar 侧栏
sidebar_l, sidebar_r 左边栏或右边栏
main 页面主体
tag 标签
msg message 提示信息
tips 小技巧
vote 投票
friendlink 友情链接
title 标题
summary 摘要
login_bar 登录条
search_input 搜索输入框
hot 热门热点
search 搜索
search_output 搜索输出和搜索结果相似
search_bar 搜索条
search_results 搜索结果
copyright 版权信息
branding 商标
logo 网站LOGO标志
site_info 网站信息
site_info_legal 法律声明
site_info_credits 信誉
join_us 加入我们
partner 合作伙伴
service 服务
regsiter 注册
arr arrow 箭头
guild 指南
site_map 网站地图
list 列表
home_page 首页
sub_page 二级页面子页面
tool, toolbar 工具条
drop 下拉
dorp_menu 下拉菜单
status 状态
scroll 滚动
tab 标签页
left right center 居左、中、右
news 新闻
download 下载
banner 广告条(顶部广告条)

CSS 书写规范

向"无ID,无层级,无标签"准则靠拢,可有效提高重用性,减小文件大小,提升渲染效率

CSS 注释格式

用来区分页面的注释,如/******************************************产品中心****************************************/
模块的注释,如/*首页导航栏*/

CSS格式化

使用不换行方式书写,增加书写速度
.box{background: none repeat scroll 0 0 transparent;bottom: 11px;position: relative; 22px;z-index: 33;}

CSS字体单位

px像素(Pixel),相对长度单位,像素px是相对于显示器屏幕分辨率而言的。
em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。
rem也是相对长度单位,但相对的只是HTML根元素。
vw代表视窗(Viewport)的宽度为1%,如果视窗宽度为1000px,那么50vw = 500px
vh代表窗口高度的百分,如果视窗高度为800px,那么50vh = 400px
公司项目使用时注意事项:现有项目都是使用px作为单位,现推荐使用rem,vw,vh作为单位

从css谈模块化:这里所谓的模块化,其实是规范化的子集,通过制定了一套规范,才产生了模块。所以css的模块化过程其实是css规范化的过程。由于css本身并不是一门语言,不具备语言的特性,我们只有借助其他方式和工具,才能达到模块化的目的。而目前为止,我们还只是停留在规范的约束方式上。

参考:推荐大家使用的CSS书写规范、顺序

Google HTML/CSS Style Guide    --2017.03.07

http://www.runoob.com/w3cnote/htmlcssguide.html

原文地址:https://www.cnblogs.com/Chen-XiaoJun/p/6512689.html