CSS书写规范
这个可以慢慢来积累。。。。。。
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;width: 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本身并不是一门语言,不具备语言的特性,我们只有借助其他方式和工具,才能达到模块化的目的。而目前为止,我们还只是停留在规范的约束方式上。
Google HTML/CSS Style Guide --2017.03.07
http://www.runoob.com/w3cnote/htmlcssguide.html