可用csss代码规范

可用csss代码规范

前端知识qingyu2020-09-11 20:50:061051A+A-

  css代码规范

  1. 概述

  欢迎使用品csss代码规范, 这个内部规范。旨在增强团队开发协作、提高代码质量和打造开发基石的编码规范,

  以下规范是团队基本约定的内容,必须严格遵循。

  HTML规范

  基于 W3C、苹果开发者 等官方文档,并结合团队业务和开发过程中总结的规范约定,让页面HTML代码更具语义性。

  图片规范

  了解各种图片格式特性,根据特性制定图片规范,包括但不限于图片的质量约定、图片引入方式、图片合并处理等,旨在从图片层面优化页面性能。

  CSS规范

  统一规范团队 CSS 代码书写风格和使用 CSS 预编译语言语法风格,提供常用媒体查询语句和浏览器私有属性引用,并从业务层面统一规范常用模块的引用。

  命名规范

  从 目录、图片、HTML/CSS文件、ClassName 的命名等层面约定规范团队的命名习惯,增强团队代码的可读性。

  2. HTML 规范

  DOCTYPE 声明

  HTML文件必须加上 DOCTYPE 声明,并统一使用 HTML5 的文档声明: ~~~html ~~~

  HTML5标准模版

  ```html

  ```

  页面语言lang

  推荐使用属性值 cmn-Hans-CN(简体, 中国大陆),但是考虑浏览器和操作系统的兼容性,目前仍然使用 zh-CN 属性值

<html lang="zh-CN">

  更多地区语言参考:

  zh-SG 中文 (简体, 新加坡) 对应 cmn-Hans-SG 普通话 (简体, 新加坡) zh-HK 中文 (繁体, 香港) 对应 cmn-Hant-HK 普通话 (繁体, 香港) zh-MO 中文 (繁体, 澳门) 对应 cmn-Hant-MO 普通话 (繁体, 澳门) zh-TW 中文 (繁体, 台湾) 对应 cmn-Hant-TW 普通话 (繁体, 台湾)

  charset 字符集合

  一般情况下统一使用 “UTF-8” 编码

<meta charset="UTF-8">

  由于历史原因,有些业务可能会使用 “GBK” 编码

<meta charset="GBK">

  请尽量统一写成标准的 “UTF-8”,不要写成 “utf-8” 或 “utf8” 或 “UTF8”。根据 IETF对UTF-8的定义,其编码标准的写法是 “UTF-8”;而 UTF8 或 utf8 的写法只是出现在某些编程系统中,如 .NET framework 的类 System.Text.Encoding 中的一个属性名就叫 UTF8。

  书写风格

  HTML代码大小写

  HTML标签名、类名、标签属性和大部分属性值统一用小写

  推荐:

<div class="demo"></div>

  不推荐:

  ```

  ```

  类型属性

  不需要为 CSS、JS 指定类型属性,HTML5 中默认已包含

  推荐:

<link rel="stylesheet" href="" > <script src=""></script>

  不推荐:

<link rel="stylesheet" type="text/css" href="" > <script type="text/javascript" src="" ></script>

  元素属性

  元素属性值使用双引号语法

  元素属性值可以写上的都写上

  推荐:

<input type="text"> <input type="radio" name="name" checked="checked" >

  不推荐:

<input type=text> <input type='text'> <input type="radio" name="name" checked >

  特殊字符引用

  文本可以和字符引用混合出现。这种方法可以用来转义在文本中不能合法出现的字符。

  在 HTML 中不能使用小于号 “<”>”特殊字符,浏览器会将它们作为标签解析,若要正确显示,在 HTML 源代码中使用字符实体

  推荐:

<a href="#">more&gt;&gt;</a>

  不推荐:

<a href="#">more>></a>

  代码缩进

  统一使用四个空格进行代码缩进,使得各编辑器表现一致(各编辑器有相关配置)

<div class="jdc"> <a href="#"></a> </div>

  代码嵌套

  元素嵌套规范,每个块状元素独立一行,内联元素可选

  推荐:

<div> <h1></h1> <p></p> </div> <p><span></span><span></span></p>

  不推荐:

<div> <h1></h1><p></p> </div> <p> <span></span> <span></span> </p>

  段落元素与标题元素只能嵌套内联元素

  推荐:

<h1><span></span></h1> <p><span></span><span></span></p>

  不推荐:

<h1><div></div></h1> <p><div></div><div></div></p>

  3. 图片规范

  内容图

  内容图多以商品图等照片类图片形式存在,颜色较为丰富,文件体积较大

  优先考虑 JPEG 格式,条件允许的话优先考虑 WebP 格式

  尽量不使用PNG格式,PNG8 色位太低,PNG24 压缩率低,文件体积大

  PC平台单张的图片的大小不应大于 200KB。

  背景图

  背景图多为图标等颜色比较简单、文件体积不大、起修饰作用的图片

  PNG 与 GIF 格式,优先考虑使用 PNG 格式,PNG格式允许更多的颜色并提供更好的压缩率

  图像颜色比较简单的,如纯色块线条图标,优先考虑使用 PNG8 格式,避免不使用 JPEG 格式

  图像颜色丰富而且图片文件不太大的(40KB 以下)或有半透明效果的优先考虑 PNG24 格式

  图像颜色丰富而且文件比较大的(40KB - 200KB)优先考虑 JPEG 格式

  条件允许的,优先考虑 WebP 代替 PNG 和 JPEG 格式

  4. CSS规范

  代码格式化

  样式书写一般有两种:一种是紧凑格式 (Compact)

  

.jdc{ display: block;width: 50px;}

  一种是展开格式(Expanded)

  .jdc { display: block; width: 50px; }

  团队约定

  统一使用展开格式书写样式

  代码大小写

  样式选择器,属性名,属性值关键字全部使用小写字母书写,属性字符串允许使用大小写。

  ``` / 推荐 /

.jdc{ display:block; }

  / 不推荐 /

.JDC{ DISPLAY:BLOCK; }

```

  选择器

  尽量少用通用选择器 *

  不使用 ID 选择器

  不使用无具体语义定义的标签选择器

  ```css / 推荐 /

 .jdc {} .jdc li {} .jdc li p{}

  / 不推荐 /

*{}
  jdc {}
  .jdc div{} ```

  代码缩进

  统一使用四个空格进行代码缩进,使得各编辑器表现一致(各编辑器有相关配置)

  .jdc { width: 100%; height: 100%; }

  分号

  每个属性声明末尾都要加分号;

.jdc { width: 100%; height: 100%; }

  代码易读性

  左括号与类名之间一个空格,冒号与属性值之间一个空格

  推荐:

.jdc { width: 100%; }

  不推荐:

 .jdc{ width:100%; }

  逗号分隔的取值,逗号之后一个空格

  推荐:

 .jdc { box-shadow: 1px 1px 1px #333, 2px 2px 2px #ccc; }

  不推荐:

.jdc { box-shadow: 1px 1px 1px #333,2px 2px 2px #ccc; }

  为单个css选择器或新申明开启新行

  推荐:

 css .jdc, .jdc_logo, .jdc_hd { color: #ff0; } .nav{ color: #fff; }

  不推荐:

 css .jdc,jdc_logo,.jdc_hd { color: #ff0; }.nav{ color: #fff; }

  颜色值 rgb() rgba() hsl() hsla() rect() 中不需有空格,且取值不要带有不必要的 0

  推荐:

 .jdc { color: rgba(255,255,255,.5); }

  不推荐:

 .jdc { color: rgba( 255, 255, 255, 0.5 ); }

  属性值十六进制数值能用简写的尽量用简写

  推荐:

.jdc { color: #fff; }

  不推荐:

 css .jdc { color: #ffffff; }

  不要为 0 指明单位

  推荐:

css .jdc { margin: 0 10px; }

  不推荐:

 css .jdc { margin: 0px 10px; }

  属性值引号

  css属性值需要用到引号时,统一使用单引号

  ```css / 推荐 /

 .jdc { font-family: 'Hiragino Sans GB'; }

  / 不推荐 /

 .jdc { font-family: "Hiragino Sans GB"; }

```

  属性书写顺序

  建议遵循以下顺序:

  布局定位属性:display / position / float / clear / visibility / overflow(建议 display 第一个写,毕竟关系到模式)

  自身属性:width / height / margin / padding / border / background

  文本属性:color / font / text-decoration / text-align / vertical-align / white- space / break-word

  其他属性(CSS3):content / cursor / border-radius / box-shadow / text-shadow / background:linear-gradient …

  css .jdc { display: block; position: relative; float: left; width: 100px; height: 100px; margin: 0 10px; padding: 20px 0; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; color: #333; background: rgba(0,0,0,.5); -webkit-border-radius: 10px; -moz-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; border-radius: 10px; }

  mozilla官方属性顺序推荐

  命名规范

  由历史原因及个人习惯引起的 DOM 结构、命名不统一,导致不同成员在维护同一页面时,效率低下,迭代、维护成本极高。

  目录命名

  项目文件夹:pinyougou

  样式文件夹:css

  脚本文件夹:js

  样式类图片文件夹:img

  产品类图片文件夹: upload

  字体类文件夹: fonts

  ClassName命名

  ClassName的命名应该尽量精短、明确,必须以字母开头命名,且全部字母为小写,单词之间统一使用下划线 “_” 连接

  .nav_top

  常用命名推荐

  注意:ad、banner、gg、guanggao 等有机会和广告挂勾的字眠不建议直接用来做ClassName,因为有些浏览器插件(Chrome的广告拦截插件等)会直接过滤这些类名,因此

  这种广告的英文或拼音类名不应该出现

  另外,敏感不和谐字眼也不应该出现,如:

<div class="fuck"></div> <div class="jer"></div> <div class="sm"></div> <div class="gcd"></div> <div class="ass"></div> <div class="KMT"></div>

...

  ClassName含义

  about关于

  account账户

  arrow箭头图标

  article文章

  aside边栏

  audio音频

  avatar头像

  bg,background背景

  bar栏(工具类)

  branding品牌化

  crumb,breadcrumbs面包屑

  btn,button按钮

  caption标题,说明

  category分类

  chart图表

  clearfix清除浮动

  close关闭

  col,column列

  comment评论

  community社区

  container容器

  content内容

  copyright版权

  current当前态,选中态

  default默认

  description描述

  details细节

  disabled不可用

  entry文章,博文

  error错误

  even偶数,常用于多行列表或表格中

  fail失败(提示)

  feature专题

  fewer收起

  field用于表单的输入区域

  figure图

  filter筛选

  first第一个,常用于列表中

  footer页脚

  forum论坛

  gallery画廊

  group模块,清除浮动

  header页头

  help帮助

  hide隐藏

  hightlight高亮

  home主页

  icon图标

  info,information信息

  last最后一个,常用于列表中

  links链接

  login登录

  logout退出

  logo标志

  main主体

  menu菜单

  meta作者、更新时间等信息栏,一般位于标题之下

  module模块

  more更多(展开)

  msg,message消息

  nav,navigation导航

  next下一页

  nub小块

  odd奇数,常用于多行列表或表格中

  off鼠标离开

  on鼠标移过

  output输出

  pagination分页

  pop,popup弹窗

  preview预览

  previous上一页

  primary主要

  progress进度条

  promotion促销

  rcommd,recommendations推荐

  reg,register注册

  save保存

  search搜索

  secondary次要

  section区块

  selected已选

  share分享

  show显示

  sidebar边栏,侧栏

  slide幻灯片,图片切换

  sort排序

  sub次级的,子级的

  submit提交

  subscribe订阅

  subtitle副标题

  success成功(提示)

  summary摘要

  tab标签页

  table表格

  txt,text文本

  thumbnail缩略图

  time时间

  tips提示

  title标题

  video视频

  wrap容器,包,一般用于最外层

  wrapper容器,包,一般用于最外层


点击这里复制本文地址 欢迎来到大黄鸡源码分享网
qrcode

大黄鸡源码编程网 © All Rights Reserved.  
网站备案号:闽ICP备18012015号-4
Powered by Z-BlogPHP
联系我们| 关于我们| 广告联系| 网站管理