CSS代码书写规范

流楚丶格念 2021-07-20 03:57:18
css


 

首先感谢乖乖老师悉心提点

阳光拥抱着雨露,绿树拥抱着鲜花。乖乖老师细心的培养和指导就像一抹暖阳,照亮了我人生的旅途 。在这里祝愿老师儿童节快乐,青春永驻!
在这里插入图片描述

好,下面介绍CSS的书写规范

CSS代码格式

空格规范

【强制】 选择器 与 { 之间必须包含空格。

示例: .selector { }

【强制】 属性名 与之后的:之间不允许包含空格,:与属性值之间必须包含空格。

示例:

font-size: 12px;

  • 1.

选择器规范

【强制】 当一个 rule 包含多个 selector 时,每个选择器声明必须独占一行。

示例:

/* good */
.post,
.page,
.comment {
line-height: 1.5;
}
/* bad */
.post, .page, .comment {
line-height: 1.5;
}

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

【建议】 选择器的嵌套层级应不大于 3 级,位置靠后的限定条件应尽可能精确。

示例:

/* good */
#username input {}
.comment .avatar {}
/* bad */
.page .header .login #username input {}
.comment div * {}

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

属性规范

【强制】 属性定义必须另起一行。

示例:

/* good */
.selector {
margin: 0;
padding: 0;
}
/* bad */
.selector { margin: 0; padding: 0; }

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

【强制】 属性定义后必须以分号结尾。(最后一句属性不加;也可以,但是强烈不建议)

示例:

/* good */
.selector {
margin: 0;
}
/* bad */
.selector {
margin: 0
}

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
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等等,这样精简代码同时又能提高用户的阅读体验。

abbreviation

去掉小数点前的“0”

del-zero

简写命名

很多用户都喜欢简写类名,但前提是要让人看懂你的命名才能简写哦!

name

16进制颜色代码缩写

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

color-abb

连字符CSS选择器命名规范

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

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

    输入的时候少按一个shift键;
    浏览器兼容问题 (比如使用_tips的选择器命名,在IE6是无效的)
    能良好区分JavaScript变量命名(JS变量命名是用“_”)
    这里有一篇破折号与下划线的详细讨论,中文篇:点击查看 英文篇:点击查看

underline

不要随意使用Id

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

css-id

为选择器添加状态前缀

有时候可以给选择器添加一个表示状态的前缀,让语义更明了,比如下图是添加了“.is-”前缀。

status-select

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

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.

注释的写法:

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

  • 1.
  • 2.
  • 3.

Id的命名:

1)页面结构

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

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

2)导航

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

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

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.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.

注意事项:

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

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

 

版权声明
本文为[流楚丶格念]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_15265965/2892191

  1. 【django轻量级框架】Django项目导入css,js,images等静态文件
  2. 2.4.5全局样式与局部样式和2.4.6 CSS变量-页面样式与布局【uni-app从入门到精通在线教程(黄菊华-跨平台开发系列教程)】
  3. 微信小程序界面设计小程序中的WXSS(css)选择器课程-::first-line 伪元素
  4. 微信小程序界面设计小程序中的WXSS(css)选择器课程-伪类-:empty 伪类
  5. 微信小程序界面设计小程序中的WXSS(css)选择器课程-伪类-:checked 伪类(不支持)
  6. 微信小程序界面设计小程序中的WXSS(css)选择器课程-子元素选择器
  7. 微信小程序界面设计小程序中的WXSS(css)选择器课程-相邻兄弟选择器
  8. 微信小程序界面设计小程序中的WXSS(css)选择器课程-后代选择器
  9. 微信小程序界面设计小程序中的WXSS(css)选择器课程-属性选择器
  10. 微信小程序界面设计小程序中CSS3样式精通课程-框大小box-sizing
  11. 微信小程序界面设计小程序中CSS3样式精通课程-多列-Columns列的宽度和列数
  12. 微信小程序界面设计小程序中的WXSS(css)选择器课程-伪类-:last-of-type 伪类
  13. 微信小程序界面设计小程序中的WXSS(css)选择器课程-伪类-:only-child 伪类
  14. 微信小程序界面设计小程序中的WXSS(css)选择器课程-伪类-:only-of-type 伪类
  15. 微信小程序界面设计小程序中的WXSS(css)选择器课程-::after伪元素
  16. 微信小程序界面设计小程序中的WXSS(css)选择器课程-::before伪元素
  17. 微信小程序界面设计小程序中的WXSS(css)选择器课程-伪类-:nth-last-of-type()伪类
  18. 微信小程序界面设计小程序中的WXSS(css)选择器课程-伪类-:nth-of-type() 伪类
  19. 微信小程序界面设计小程序中的WXSS(css)选择器课程-伪类-:last-child 伪类
  20. 微信小程序界面设计小程序中的WXSS(css)选择器课程-伪类-:disabled | :enabled 伪类
  21. 微信小程序界面设计小程序中的WXSS(css)选择器课程-伪类-:first-child 伪类
  22. 微信小程序界面设计小程序中的WXSS(css)选择器课程-伪类-:first-of-type 伪类
  23. 微信小程序界面设计小程序中的WXSS(css)选择器课程-伪类-:focus 伪类
  24. 微信小程序界面设计小程序中的WXSS(css)选择器课程-派生选择器
  25. 微信小程序界面设计小程序中的WXSS(css)选择器课程-伪类-:nth-child() 伪类
  26. 微信小程序界面设计小程序中的WXSS(css)选择器课程-选择器的分组
  27. HTML基础-简介
  28. ASP实战之HTML入门-黄菊华-专题视频课程
  29. 微信小程序WxParse解析富文本(html)代码在线视频教程
  30. HTML语言基础.上
  31. HTML语言基础.下
  32. HTML!
  33. 【网页前端设计Front end】HTML语言基础.上(看不懂你来打我)
  34. 【网页前端设计Front end】HTML语言基础.下(看不懂你来打我)
  35. 【django轻量级框架】HTML上传文件拦截到本地
  36. HTML5基础知识实战演练教程-黄菊华-专题视频课程
  37. 基于WEB的HTML5购物网站、H5电商购物平台网上商城网站毕业设计(1)商城首页
  38. 基于WEB的HTML5购物网站、H5电商购物平台网上商城网站毕业设计(2)商城分类
  39. Introduction of modern JavaScript chart library apexcharts.js | software
  40. 微信小程序框架weui的基础使用
  41. 一文入魂!彻底巩固你的Nginx知识体系!
  42. Nginx是什么?有哪些核心技术?
  43. Nginx配置如何一键生成
  44. 就这一次把网路的几种IO模型以及Nginx基本原理彻底搞清楚
  45. 优质高效,阿里性能怪兽宝典(Redis+Nginx)限时开源,手慢无!
  46. Nginx的配置文件nginx.conf配置解释
  47. 安装的nginx 地址重写
  48. nginx防盗链
  49. nginx动静分离
  50. nginx优化
  51. Nginx虚拟主机
  52. Nginx 反向代理
  53. IDEA实现热部署前端界面(Tomcat、IDEA)
  54. JavaScript中call与apply的区别
  55. JavaScript代码无分号问题
  56. 在Chrome浏览器中禁用JavaScript
  57. JavaScript为内置对象添加原型方法
  58. JavaScript原型数据共享与方法共享探究
  59. JavaScript把局部变量变成全局变量
  60. JavaScript函数自调用