当前位置: 首页 > news >正文

css书写规范

项目前期html代码结构写的不规范,后期导致浏览器兼容出现大量问题.

规范,规范,一个优秀的公司必然有一个优秀的团队,一个优秀的团队必然要有一个好的规范来 约束和执行。国内基本各大互联网公司的前端都有自己的开发规范,但总的宗旨基本都是:代码简、易维护、性能高。对于一个大型项目经常会多人协作,这时必须 要有一个好的规范才能顺利便捷地进行下去。

基本准则

符合web标准语义化html, 结构表现行为分离兼容性优良页面性能方面代码要求简洁明了有序尽可能的减小服务器负载保证最快的解析速度.

html书写规范

1. 文档类型声明及编码统一为html5声明类型

1

<!DOCTYPE html>

编码统一为

1

<meta charset=gbk” />

书写时利用IDE实现层次分明的缩进;

2. 非特殊情况下样式文件必须外链至…之间;非特殊情况下JavaScript文件必须外链至页面底部;

3. 引入样式文件或JavaScript文件时须略去默认类型声明写法如下:

1

2

3

<link rel=stylesheet” href=”…” />

<style></style> 

<script src=”…”></script>

4. 引入JS库文件文件名须包含库名称及版本号及是否为压缩版比如jquery-1.4.1.min.js; 引入插件文件名格式为库名称+插件名称比如jQuery.cookie.js;

5. 所有编码均遵循xhtml标准标签 属性 属性命名 必须由小写字母及下划线数字组成且所有标签必须闭合包括

1

br (<br />), hr(<hr />)

属性值必须用双引号包括;

6. 充分利用无兼容性问题的html自身标签比如span, em, strong, optgroup, label,等等需要为html元素添加自定义属性的时候首先要考虑下有没有默认的已有的合适标签去设置如果没有可以使用须以”data-”为前缀来添加自定义属性,避免使用”data:”等其他命名方式;

7. 语义化html, 如 标题根据重要性用h*(同一页面只能有一个h1), 段落标记用p, 列表用ul, 内联元素中不可嵌套块级元素;

8. 尽可能减少div嵌套,

1

<div><div class=welcome>欢迎访问XXX, 您的用户名是<div class=name>用户名</div></div></div>

完全可以用以下代码替代:

1

<div><p>欢迎访问XXX, 您的用户名是<span>用户名</span></p></div>

9. 书写链接地址时必须避免重定向,例如:href=http://itaolun.com/即须在URL地址后面加上“/”;

10. 在页面中尽量避免使用style属性,style=”…”;

11. 必须为含有描述性表单元素(input, textarea)添加label, 

1

<p>姓名: <input type=text” id=name” name=name” /></p>须写成:<p><label for=name>姓名: </label><input type=text” id=name” /></p>

12. 能以背景形式呈现的图片尽量写入css样式中;

13. 重要图片必须加上alt属性给重要的元素和截断的元素加上title;

14. 给区块代码及重要功能(比如循环)加上注释方便后台添加功能;

15. 特殊符号使用尽可能使用代码替代比如

1

<(<) & >(>) & 空格( ) & »(») 等等;

16. 书写页面过程中请考虑向后扩展性;

17. class & id 参见 css书写规范.

css书写规范

1. 编码统一为utf-8;

2. 协作开发及分工: i会根据各个模块同时根据页面相似程序事先写好大体框架文件分配给前端人员实现内部结构&表现&行为共用css文件base.cssi书写协作开发过程中每个页面请务必都要引入此文件包含reset及头部底部样式此文件不可随意修改;it热门行业

3. classid的使用: id是唯一的并是父级的, class是可以重复的并是子级的所以id仅使用在大的模块上, class可用在重复使用率高及子级中; id原则上都是由分发框架文件时命名的(如#header #footer #content #nav 等)JavaScript预留钩子的除外;

4. JavaScript预留钩子的命名请以 js_ 起始比如: js_hide, js_show(淘宝是用的J_开头);

5. classid命名大的框架命名比如header/footer/wrapper/left/right之类的在2中由i统一命名.其他样式名称由 小写英文 数字 & _ 来组合命名i_comment, fontred, width200; 避免使用中文拼音尽量使用简易的单词组合总之命名要语义化简明化.

6. 规避classid命名(此条重要若有不明白请及时与i沟通):

a) 通过从属写法规避示例见d;

b)取父级元素id/class命名部分命名示例见d;

c)重复使用率高的命名请以自己代号加下划线起始比如i_clear;

da,b两条适用于在2中已建好框架的页面要在2中已建好框架的页面代码

1

<div id=mainnav></div>

中加入新的div元素,

a命名法则:

1

<div id=mainnav><div></div></div>

样式写法:

1

#mainnav .firstnav{…….}

b命名法则:

1

<div id=mainnav><div></div></div>

样式写法:

1

.main_firstnav{…….}

转载于:https://www.cnblogs.com/manshanyoucaihua/p/4456069.html

相关文章:

  • Android 8.0允许安装未知来源
  • 蜕变成蝶~Linux设备驱动之中断与定时器
  • 1.9(设计模式)装饰器模式
  • TypeScript Visitor设计模式
  • 构造方法、this关键字的另一种用法
  • 模板 计算1的个数
  • 京北机房 怀来云交换数据中心主机托管
  • 排列组合
  • 结巴分词
  • perf4j使用
  • hdfs使用操作命令
  • node.js的npm详解
  • 求一个n!中尾数有多少个零
  • 扫描之家:RFID技术可以应用在哪些方面?
  • 设置myeclipse自动生成的author等注释
  • [deviceone开发]-do_Webview的基本示例
  • 230. Kth Smallest Element in a BST
  • express + mock 让前后台并行开发
  • git 常用命令
  • Javascript Math对象和Date对象常用方法详解
  • k8s如何管理Pod
  • Kibana配置logstash,报表一体化
  • Logstash 参考指南(目录)
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • PhantomJS 安装
  • SAP云平台里Global Account和Sub Account的关系
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 从输入URL到页面加载发生了什么
  • 分布式熔断降级平台aegis
  • 回顾 Swift 多平台移植进度 #2
  • 开源地图数据可视化库——mapnik
  • 使用 Docker 部署 Spring Boot项目
  • 探索 JS 中的模块化
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • const的用法,特别是用在函数前面与后面的区别
  • Spring Batch JSON 支持
  • 选择阿里云数据库HBase版十大理由
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • #define与typedef区别
  • #NOIP 2014# day.1 T2 联合权值
  • #pragma multi_compile #pragma shader_feature
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (145)光线追踪距离场柔和阴影
  • (Ruby)Ubuntu12.04安装Rails环境
  • (二)JAVA使用POI操作excel
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • @Documented注解的作用
  • @Query中countQuery的介绍
  • @Resource和@Autowired的区别
  • @RestController注解的使用
  • [.NET 即时通信SignalR] 认识SignalR (一)