web前端规范

摘要: HTML 原则1.规范 。保证您的代码规范,保证结构表现行为相互分离。2.简洁。保证代码的最简化,避免多余的空格、空行,保持代码的语义化,尽量使用具有语义的元素,避免使用样式属性和行为属性。任何时候都要用尽量简单、尽量少的元素解决问题。

HTML

原则
1.规范 。保证您的代码规范,保证结构表现行为相互分离。
2.简洁。保证代码的最简化,避免多余的空格、空行,保持代码的语义化,尽量使用具有语义的元素,避免使用样式属性和行为属性。任何时候都要用尽量简单、尽量少的元素解决问题。
3.实用。遵循标准,但是不能以牺牲实用性为代价。
4.忠诚。选择一套规范,然后始终遵循。不管代码由多少人参与,都应该看起来像一个人写的一样

语法
1.小写. html标签、属性全部小写。
2.嵌套. 所有元素必须正确嵌套。
3.闭合. 双标签必须闭合,单标签(自关闭标签)不闭合 如 <hr>。
4.双引号. 双引号属性值,不要使用单引号。

注释
1.详尽注释。解释代码解决问题、解决思路等。
2.模块注释。建议不使用模块结束注释。

文档
1.文档类型使用html5标准文档类型,文档类型声明之前,不允许出现任何非空字符。不允许添加<meta>强制改变文档模式。
2.html元素上指定lang属性。显示页面语言,有助于语言合成工具来确定怎样发音,以及翻译工具决定使用的规则,等等。
3.指定明确的字符编码。让浏览器轻松、快速的确定适合网页内容的渲染方式。

属性
1.双引号属性值,不要使用单引号。
2.省略type属性。使用style、link、script,不用指定type属性,因为 text/css 和 text/javascript 分别是他们的默认值。
3.省略Boolean属性值。Boolean属性不用添加取值,disabled,checked,selected等。
4.省略url类属性资源协议头。
5.属性顺序。html属性应该按照特定的顺序出现以保证易读性。class->id,name->data-*->src,for,type,href->title,alt->aria-*,role。
6.多媒体元素添加替代属性。图像增加alt属性,音视频增加替代文字。

元素
1.避免冗余标签。
2.避免JS生成标签。
3.段落文字应该用p,避免使用br。
4.列表项放ul,ol,dl,不要使用一系列的div或p。
5.input使用for属性绑定label。
6.使label标签包裹radio或checkbox和他们的文字,不用再使用for属性。
8.form button应制定type类型,使用type="submit"、type="reset"或type="button"。

参考: http://www.php100.com/html/it/qianduan/2015/0116/8389.html

CSS

全局:global.css

全局样式为全站公用,为页面样式基础,页面中必须包含。

结构:layout.css

页面结构类型复杂,并且公用类型较多时使用。多用在首页级页面和产品类页面中。

私有:style.css

独立页面所使用的样式文件,页面中必须包含。

模块 module.css

产品类页面应用,将可复用类模块进行剥离后,可与其它样式配合使用。

主题 themes.css

实现换肤功能时应用。

补丁 mend.css 基于以上样式进行的私有化修补。

CSS命名规范
头:header
内容:content/containe
尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体布局宽度:wrapper
左右中:left right center
登录条:loginbar
标志:logo
广告:banner
页面主体:main
热点:hot
新闻:news
下载:download
子导航:subnav
菜单:menu
子菜单:submenu
搜索:search
友情链接:friendlink
页脚:footer
版权:copyright
滚动:scroll
内容:content
标签页:tab
文章列表:list
提示信息:msg
小技巧:tips
栏目标题:title
加入:joinus
指南:guild
服务:service
注册:regsiter
状态:status
投票:vote
合作伙伴:partner

1.命名统一采用小写
注意事项::
一律小写;
尽量用英文;
不加中杠和下划线;
尽量不缩写,除非一看就明白的单词.

class的命名:

(1)颜色:使用颜色的名称或者16进制代码,如

.red { color: red; }
.f60 { color: #f60; }
.ff8600 { color: #ff8600; }

(2)字体大小,直接使用”font+字体大小”作为名称,如

.font12px { font-size: 12px; }
.font9pt {font-size: 9pt; }

(3)对齐样式,使用对齐目标的英文名称,如

.left { float:left; }
.bottom { float:bottom; }

(4)标题栏样式,使用”类别+功能”的方式命名,如

.barnews { }
.barproduct { }

XHTML文件中id的命名

(1)页面结构
容器: container
页头:header
内容:content/container
页面主体:main
页尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体布局宽度:wrapper
左右中:left right center 
(2)导航
导航:nav
主导航:mainbav
子导航:subnav
顶导航:topnav
边导航:sidebar
左导航:leftsidebar
右导航:rightsidebar
菜单:menu
子菜单:submenu
标题: title
摘要: summary 
(3)功能
标志:logo
广告:banner
登陆:login
登录条:loginbar
注册:regsiter
搜索:search
功能区:shop
标题:title
加入:joinus
状态:status
按钮:btn
滚动:scroll
标签页:tab
文章列表:list
提示信息:msg
当前的: current
小技巧:tips
图标: icon
注释:note
指南:guild
服务:service
热点:hot
新闻:news
下载:download
投票:vote
合作伙伴:partner
友情链接:link
版权:copyright

Javascript

使用驼峰标记法
首字母是小写的,接下来的字母都以大写字符开头。例如:

var testValue = 0, secondValue = "hi";

不要使用 switch

switch 在所有的编程语言中都是个非常错误的难以控制的语句,建议用 if else 来替换它。

操作符(+,-,*,/,%)前后请加空格
例如

return x + y;

缩进

使用两个空格来代替tab

字符串
统一使用单引号(‘),不使用双引号(“)。这在创建 HTML 字符串非常有好处:

三元条件判断(if 的快捷方法)
用三元操作符分配或返回语句。在比较简单的情况下使用,避免在复杂的情况下使用。没人愿意用 10 行三元操作符把自己的脑子绕晕。

不推荐

if(x === 10) {
return 'valid';
} else {
return 'invalid';
}

推荐

return x === 10 ? 'valid' : 'invalid';

澄清:分号与函数

分号需要用在表达式的结尾,而并非函数声明的结尾。区分它们最好的例子是:

var foo = function() {
return true;
}; // semicolon here.function foo() {
return true;
} // no semicolon here.

每一次的记录,都是向前迈进的一步

原文链接

本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521314.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为表示年内没有推出搭载鸿蒙操作系统手机的计划;OpenStack或被抛弃?iPhone至少还要三年可苹果自研5G调制解调器……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 每周三次&#xff0c;打卡即…

获取控件enable状态_Android自定义组合控件数字加减(适用于购物车)

大家好&#xff0c;我是小黑&#xff0c;一个还没秃头的程序员~~~独学而无友&#xff0c;则孤陋而寡闻--《礼记学记》今天的内容是自定义一个数组加减的控件&#xff0c;可以应用于购物车的数量选择&#xff0c;效果如下&#xff1a;自定义实现了控件的默认值、最大值、最小值、…

python os.path.splitext()的用法_Python常用模块之os.path

os.path.abspath(path) 输入相对路径&#xff0c;返回绝对路径 Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. >>&…

IPv6转换服务正式发布

摘要&#xff1a; IPv6时代已来&#xff0c;阿里云IPv6转换服务帮忙您使现有IPv4业务快速提供IPv6访问能力 什么是IPv6转换服务 IPv6转换服务&#xff08;IPv6 Translation Service&#xff09;是阿里云提供的一种有状态的IPv6和IPv4网络地址和协议转换服务。 通过IPv6转换服…

【角度刁钻】如果把线程当作一个人来对待,秒懂

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 编程新说李新杰责编 | 阿秃多线程的问题都曾经困扰过每个开发人员&#xff0c;今天将从全新视角来解说&#xff0c;希望读者都能明白。强烈建议去运行下文章中的示例代码&#xff0c;自己体会下。问题究竟出在哪里&#xff…

时间序列数据卡尔曼滤波_使用Highcharts和InfluxDB可视化时间序列数据

实时绘制大量带时间戳的数据往往是一项棘手的任务&#xff0c;需要相当多的技巧和过多的耐心。幸运的是&#xff0c;我们已经有了InfluxData平台来为我们提供开箱即用的许多困难。我们可以高效&#xff0c;安全地收集和存储数据&#xff0c;构建可视化&#xff0c;甚至设置警报…

AI又破案!衢州城市大脑这回抓了一个抢劫犯

摘要&#xff1a; 浙江衢州再次上演AI破案的神迹&#xff1a;两周时间内&#xff0c;衢化西路、巨化西路连续发生两起金项链抢劫案。受案发现场条件限制&#xff0c;视频侦查问题重重。在衢州城市大脑的帮助下&#xff0c;警方最终锁定犯罪嫌疑人马某并进行逮捕。经查&#xff…

CentOS7 最小化安装后的必备操作

文章目录1. 安装ifconfig2. firewall 启用 IPtable3. 修改iptables配置文件4. 重启iptables5.关闭SELINUX6. 安装wget7. 安装vim8. 安装unzip9. 更换镜像源 为阿里源10 依赖必备1. 安装ifconfig yum install -y net-tools2. firewall 启用 IPtable #停止 Firewall systemctl …

用javascript进行一个简单的机器学习小实例

摘要&#xff1a; 本篇文章教你如何使用JavaScript在浏览器中完整地定义、训练和部署机器学习算法。 虽然它可能不是机器学习传统选择的开发语言&#xff0c;但是JavaScript正在证明有能力完成这样的工作——即使它目前还不能与主要的机器学习语言Python竞争。在进一步学习之前…

梳子刻字刻什么好_校园石阶上被人刻了1700多个字?!这次网友却说好

在公共场合刻字&#xff0c;是不是听上去不太文明&#xff1f;但凡事都有例外&#xff01;在云南怒江的一个小学&#xff0c;一个支教老师在学校的石砖上刻下了上千个字&#xff0c;他为的不是“到此一游”&#xff0c;而是将汉字知识永远传承下去...△视频来源&#xff1a;看看…

腾讯Blade Team发现云虚拟化平台逃逸漏洞 积极护航云生态安全

随着云技术的快速发展和迭代更新&#xff0c;各行各业都在“云”中快速成长&#xff0c;安全性显得尤为重要。而云时代软硬件的“云交互”&#xff0c;对安全来说也意味着新的挑战。 近日&#xff0c;腾讯Blade Team团队在针对云上虚拟化安全研究中&#xff0c;发现了主流虚拟…

rust盖错了怎么拆除_细说Rust错误处理

细说Rust错误处理1. 前言这篇文章写得比较长&#xff0c;全文读完大约需要15-20min&#xff0c;如果对Rust的错误处理不清楚或还有些许模糊的同学&#xff0c;请静下心来细细阅读。当读完该篇文章后&#xff0c;可以说对Rust的错误处理可以做到掌握自如。笔者花费较长篇幅来描述…

机器学习应用中的UI个性化

摘要&#xff1a; 在这篇文章中&#xff0c;我们看看关于机器学习应用中的UI个性化问题&#xff0c;谈一谈为什么在应用程序开发的过程中交流和沟通是成功的关键。 EdgVerve推出了基于AI的业务应用平台的新一代集成人工智能平台-Infosys Nia使你的企业能够管理特定的业务领域&a…

zookeeper集群部署 精简版本

文章目录1. zookeeper下载2. 解压3. 重命名4. 创建dataDir目录和dataLogDir日志目录5. 更新备份配置文件6. 添加数据目录和日志文件目录7. 添加集群信息7.1. ip配置 方式017.2. 域名配置 方式02&#xff08;推荐使用&#xff09;8. 在服务器上分别创建myid&#xff0c;各自写入…

物联网火爆,入门却太难了!

近几年来&#xff0c;物联网发展迅速&#xff1a;据中商产业研究院《2016——2021年中国物联网产业市场研究报告》显示&#xff0c;预计到2020年&#xff0c;中国物联网的整体规模将达2.2万亿元&#xff0c;产业规模比互联网大30倍。我们可以看到&#xff0c;物联网的前景广阔。…

精读《手写 SQL 编译器 - 回溯》

摘要&#xff1a; 1 引言 上回 精读《手写 SQL 编译器 - 语法分析》 说到了如何利用 Js 函数实现语法分析时&#xff0c;留下了一个回溯问题&#xff0c;也就是存档、读档问题。 我们把语法分析树当作一个迷宫&#xff0c;有直线有岔路&#xff0c;而想要走出迷宫&#xff0c;在…

感知器算法的基本原理和步骤_很多情况下,深度学习算法和人脑相似

人脑模拟  深度学习背后的主要原因是人工智能应该从人脑中汲取灵感。此观点引出了“神经网络”这一术语。人 脑中 包含 数 十亿个神经元&#xff0c;它 们 之间有 数 万个 连 接。很多情况下&#xff0c;深度学习算法和人脑相似&#xff0c;因为人脑和深度学习模型都拥有大量…

打印时候复选框勾选不见了_checkbox 选中未显示对号勾选的问题

今天同事 让帮忙调试一个checkbox只选中一个的方法&#xff0c;代码如下&#xff1a;ID平台代码平台名称选项2选项2选项3选项4varEleInput$("[name ptcode]:checkbox")//;$("#table_platform input") ;EleInput.each(function(index, element) {$(element…

工程师如何解决穿衣搭配烦恼?——滴搭平台与算法

摘要&#xff1a; 阿里工程师们推出了一个滴搭平台&#xff0c;基于千万时尚达人的优质搭配&#xff0c;已经学习出了一套比较成熟的算法&#xff0c;帮你找到最合适的穿搭。不信&#xff1f;下面一起来深入了解“滴搭”背后的算法。 作为一名工程师&#xff0c;每天与代码打交…

Linux下搭建 kafka集群 + zookeeper集群部署 安装、启动、停止

文章目录一、环境部署总览1. 软件版本选型2. 服务器软件部署总览二、软件部署手册2.1. JDK2.2. kafka2.3. Kafka Eagle2.4. mysql2.5. zookeeper2.6. maven三、kafka集群部署3.1. 启动zk集群3.2. 启动kafka集群3.3. 启动Kafka Eagle一、环境部署总览 1. 软件版本选型 软件版本…