标准规范 2.自己偏好习惯 3.讨论/建议 永远遵循同一套编码规范 -- 不管多少人同时参与编码,所有代码都应该看上去像是一个人编写的一样。
HTML的规范
2、在属性上,使用双引号,不要使用单引号。 1、嵌套的节点应该缩进(两个空格)。 2、在属性上,使用双引号,不要使用单引号。 <!DOCTYPE html> <html> <head> <title>Page title</title> </head> <body> <img src="images/company-logo.png" alt="Company"> <h1 class="hello-world">Hello, world!</h1> </body> </html>
3、Language attribute【语言属性】 根据 HTML5 规范: 鼓励网站作者在 html 元素上指定 lang 属性,来指出页面的语言。这样做会有助于语言合成工具来确定怎样发音,以及翻译工具决定使用的规则,等等。 <html lang="en-us"> <!-- ... --> </html>
4、引入 CSS 和 JavaScript 根据 HTML5 规范, 通常在引入 CSS 和 JavaScript 时不需要指明 type,因为 text/css 和 text/javascript 分别是他们的默认值。 <!-- External CSS --> <link rel="stylesheet" href="code-guide.css"> <!-- JavaScript --> <script src="code-guide.js"></script>
5、属性顺序 HTML 属性应该按照特定的顺序出现以保证易读性。 class id, name data-* src, for, type, href title, alt aria-*, role Classes 是为高可复用组件设计的,所以他们处在第一位。Ids 更加具体而且应该尽量少使用(例如, 页内书签),所以他们处在第二位。 <a class="..." id="..." data-modal="toggle" href="#"> Example link </a> <input class="form-control" type="text"> <img src="..." alt="...">
6、减少标签数量 避免多余的父节点 / 属性能简写就简写 <input type="text" disabled> <input type="checkbox" value="1" checked> <select> <option value="1" selected>1</option> </select> <!-- Not so great --> <span class="avatar"><img src="..."></span> <!-- Better --> <img class="avatar" src="...">
CSS的规范
1、CSS基本格式[语法] 空格 [4点] 换行 [3点] 引号 冒号 小数点 0单位 大小写(color) .selector, 空格 [4点] 换行 [3点] 引号 冒号 小数点 0单位 大小写(color) .selector, .selector-secondary, .selector[type="text"] { padding: 15px; margin: 0 0 15px; background-color: rgba(0,0,0,.5); box-shadow: 0 1px 2px #ccc, inset 0 1px 0 #fff; }
2、CSS属性声明顺序 1、Positioning 定位 2、Box model 盒模型 3、Typographic 排版 4、Visual 外观
1 2 3 4 5 /* Positioning 定位 */ position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 100; /* Box-model 盒模型 */ display: block; float: right; width: 100px; height: 100px; 1 1 2 /* Typography 排版 */ font: normal 13px "宋体"; line-height: 1.5; color: #333; text-align: center; /* Visual 外观 */ background: #ccc; border: 1px solid #e5e5e5; border-radius: 3px; /* Misc 杂项*/ opacity: 1; 3 4 5
3、媒体查询位置[尽量将媒体查询的位置靠近他们相关的规则] .element { ...} .element-avatar { ... } @media (min-width: 480px) { } 4、不要使用 @import 与 <link> 相比, @import 更慢,需要额外的页面请求,并且可能引发其他的意想不到的问题。 5、前缀属性(对齐方式) /* Prefixed properties */ .selector { -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15); box-shadow: 0 1px 2px rgba(0,0,0,.15); }
6、Class 命名规范 1、命名为全小写 2、可以使用短划线(不要使用下划线) 3、命名时使用最近的父节点或者父 class 作为前缀 4、尽量使用英文命名原则 5、尽量不缩写,除非一看就明白的单词
相对网页外层重要部分CSS样式命名 外套 wrap ------------------用于最外层 头部 header ----------------用于头部 主要内容 main ------------用于主体内容(中部) 左侧 main-left -------------左侧布局 右侧 main-right -----------右侧布局 导航条 nav -----------------网页菜单导航条 内容 content ---------------用于网页中部主体 底部 footer -----------------用于底部 mainL,mainR,menu,bottom,top
DIV+CSS命名参考表 http://www.divcss5.com/jiqiao/j4.shtml
实用高于完美 尽量遵循 HTML 标准和语义,但是不应该以浪费实用性作为代价。任何时候都要用尽量小的复杂度和尽量少的标签来解决问题。 太很喜欢简化,简化,简化 结果就是给程序员会看不懂了。 然后增加自己的工作量(有任何问题,样式都要我这调整。)
按钮 btnGreen btnGreenB btnGreenS btnSearch btnSure 背景颜色 .bgWhite .bgRed .bgGray 边框颜色 .borderWhite .borderRed .borderGray 字体色 .red .green .yellow .... 标题 titleRed titleGray titleGrayB titleGrayS newsTT newsTT_gray 位置: .fleft {float:left;} .fright {float:right;} /** 间距 + 对齐 **/ .mt5 {margin-top:5px;} .mt10 {margin-top:10px;} .mb10 {margin-bottom:10px;} .textL {text-align:left;} .textR {text-align:right;} .textC {text-align:center;} 命名 .leftNews .indexNews 框架: row mainL mainR
END 1、为简化而简化,少,少,少 2、class命名,特别些组合class。再学