当前位置: 首页 > 编程日记 > 正文

Google推荐的15条HTML 5代码军规----来看看你知道几个,我一个都不知道。。。

Google规范的原文链接大家可以访问:http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml

  1.协议头:

  建议在指向图片或其他媒体文件、样式表和脚本的URL地址中省略http:https:协议部分,除非已知相应文件不能同时兼容2个协议。


  注:这个倒是真正平日不注意的,只要是绝对地址,http:总是带着。如果仔细想一想,还真有道理。

  2.缩进:每次缩进使用双空格

  不要使用tab制表符或制表符加空格的混合方式缩进

3.大小写:只使用小写

  所有的代码都应是小写的,包括元素名称、属性,属性值(除非text或CDATA的内容)、选择器、css属性、属性值(字符串除外)

  4.尾随空格

  尾随空格是不必要的,容易搞复杂diff文件。这个绝对是经验教训的总结!!!

  5.编码格式:使用UTF-8

  请确保您的编辑器使用的字符编码??为UTF-8,没有字节顺序标记。在html模板或文档中通过 来

  定义编码格式。关于编码格式参考 Character Sets & Encodings in XHTML, HTML and CSS

  6.注释

  根据需要解释代码,这个就不多说了,团队开发这个非常重要,尽管很多时候大家不愿意遵守,但确实重要!!!

  7.TODO待定项

  尚未实现的或待定的内容一定要标识强调出来,利用TODO辨识,而非其他诸如@@来强调。

  在todo项中如果有必要列明联系人,比如负责人

  在TODO后追加一个冒号作为行动内容,例如 TODO:为美瑞网增加html5模板

  8.文档类型:使用HTML5

  使用.HTML(text/html)类型文件相对XHTML(alication/xhtml+xml)文件,在浏览器及框架支持上和优化空间上都要好很多。

  9.HTML 合法性验证

  合法的使用HTML,并利用w3c的工具(W3C HTML validator)进行检查。唯一例外就是因为性能原因需要压缩文件大小。

  原文如下:Use valid HTML code unless that is not possible due to otherwise unattainable performance goals regarding file size. 但这个确实很难想象,省略标签节省的文件大小能有多少字节?但带来的问题可是风险居高哦!

  10.语义性

  根据目的来合理使用HTML,这点对于HTML5而言尤为重要。下面例子可以对比,能实现同样的结果,但效率和可读性却有很大差别。

  对于HTML5而言,例如header、footer、nav、section等跟div能实现的功能基本类似,但是语义性上有着天壤之别。

  11.多媒体后备:为多媒体提供备选内容

  这个属于老生长谈的内容,典型就是为img添加alt内容。

  12.关注点分离

  这点很重要,严格遵守将组织结构(markup)、表现样式(style)和行为动作(script)分开处理的原则,并且尽量使三者之间的关联度降到最小。这主要是基于维护性的考虑,通常,更新style文件或脚本文件比更改HTML文件的代价要小很多,试想一下,对于一个有超过10万页面的网站进行局部颜色调整,是每个html文件修改容易还是修改一个style文件容易?

  可选Tags:省略可选的标签

  13.实体引用

  假定开发团队内,文件和编辑器都是使用同样的编码格式(UTF-8),则没有必要使用实体引用的方式,例如—,”, or ☺ 除非一些HTML中具有特定含义的字符,如”<”,或不可见字符如空格

  14.Type属性:省略

  将样式表和脚本中的Type省略,除非你不是用的css或javascript,在HTML5中,该值默认是text/css和text/javascript

  15.block,list或table元素

  针对每个block,list或table元素另起一行,并在每个子元素前缩进。

  对于使用HTML5的朋友,可以参考。当然,不同团队还会整理出适合自己的代码规范,上述应该来说属于比较基本的规则内容。

相关文章:

OTS parsing error: invalid version tag woff和ttf文件被Filter拦截

从服务器下载的字体文件放在本地&#xff0c;执行无法展示iconfont&#xff0c;浏览器控制台报出 Failed to decode downloaded font: http://127.0.0.1:8080/mhr/group-assets/iconfont/iconfont.ttf?t1500884389272login_group.html:1 OTS parsing error: invalid version t…

asp.net 的性能计数器

ASP.NET 支持两组性能计数器&#xff1a;系统和应用程序。前者在 ASP.NET 性能计数器对象中的 PerfMon 中公开&#xff1b;后者在 ASP.NET Applications 性能对象中公开。ASP.NET 性能对象中的 State Server Sessions 计数器&#xff08;仅适用于在其中运行状态服务器的服务器计…

为什么那么多程序员不敢学Python?

Python入门从哪开始&#xff1f;90%以上的书上都是这样讲的&#xff1a;先介绍 Python 的基本语法规则、list、dict、tuple 等数据结构&#xff0c;然后再介绍字符串处理和正则表达式&#xff0c;介绍文件等IO操作.... 就这样一点一点往下说。然而这种按部就班的学习方法&#…

5 配置邮箱服务器

配置邮箱服务器 一邮箱服务器角色 当Exchange邮件服务器使用一段时间后可能面临以下几个问题&#xff1a;邮箱服务器的磁盘空间出现不足、如何将数据库文件移到新的硬盘上、如何共享一些文件给指定的人&#xff1b;为了解决这些问题&#xff0c;我们就要了解邮箱服务器中的邮件…

mongodb 连接和备份

2019独角兽企业重金招聘Python工程师标准>>> 1.查询某一列的值: db.collection_name.find({},{key:1,key1:0}) 第一个 {} 放 where 条件&#xff0c;为空表示返回集合中所有文档 第二个 {} 指定那些列显示和不显示 &#xff08;0表示不显示 1表示显示[非0都是显示])…

HTTP和SOAP完全就是两个不同的协议

HTTP只负责把数据传送过去&#xff0c;不会管这个数据是XML、HTML、图片、文本文件或者别的什么。而SOAP协议则定义了怎么把一个对象变成XML文本&#xff0c;在远程如何调用等&#xff0c;怎么能够混为一谈。 这样说两种协议&#xff1a; HTTP就是邮局的协议&#xff0c;他…

对网络骚扰和霸凌说不!神经网络可以做得更好

导语&#xff1a;无论在论坛、评论区还是游戏聊天界面&#xff0c;网络骚扰和网络霸凌都是一件让人烦恼的事。怎样避免这些烦人的问题&#xff1f;也许本文介绍的神经网络模型&#xff0c;可以对于使用AI技术手段解决这些问题有所启示。译者 | Rachel头图 | 下载于东方 IC出品 …

主机入侵防御系统(HIPS)分析

主机入侵防御系统&#xff08;Host Intrusion Prevent System&#xff0c;HIPS&#xff09;是近几年出现并迅速发展的新兴产物&#xff0c;与传统意义的防火墙和杀毒软件不同&#xff0c;它并不具备特征码扫描和主动杀毒等功能&#xff0c;所以想用它来替换传统杀毒软件然后安枕…

Centos 7 让docker飞一会儿

为什么80%的码农都做不了架构师&#xff1f;>>> 安装shadowsocks yum install -y epel-release python-pip pip install shadowsocks vim /etc/shadowsocks.json {"server": "your.vpn.com","server_port": 8388,"password&quo…

.net应用程序如何批上XP的外衣?

.net framework 所提供的开发控件也太少了&#xff0c;也太难看了&#xff0c;自已画又费时费力也不见得会得出个什么好的效果。如果能够上我们的程序运行在XP环境中能自动应用XP的主题样式那就省时多了&#xff0c;让MICROSOFT给我们去画控件!以下是我所所试验过的解决办法: …

AppCan 学习

2019独角兽企业重金招聘Python工程师标准>>> AppCan 学习 AppCan是以web前端开发方式来开发移动app的解决方案。下面是一些记录&#xff1a; 1.注意 uexWindow.open和uexWindow.openPopover的不同&#xff0c;后者是pop&#xff0c;pop里不能在打开window了。 2.…

在 5G 速度上,iPhone 12 只是个弟弟

作者 | 郑丽媛头图 | 下载自东方 IC出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;如果不考虑价格因素&#xff0c;让你选择一部手机&#xff0c;你是选 iPhone 还是安卓手机&#xff1f;目前&#xff0c;移动操作系统市场被 iOS 和安卓系统瓜分&#xff0c;体现在…

hadoop install start-dfs.sh 失败

linux&#xff1a;ubuntu 16.04 LTS hadoop version: 2.7.3 JDK: java-9-open-jdk issue: start-dfs.sh start-dfs.sh:command not found 在hadoop sbin目录下可以找到这个文件。但是run不起来。 解决方法&#xff1a; 1. 打开 $HOME/.bashrc 加入下面一行。 PATH$PATH:/usr/l…

用.net中的socket实现文件传输

socket是网络套接字&#xff0c;使用它我们可以很方便的实现网络的数据传输。在.net中提供了socket类来帮助开 发者调用socket的使用&#xff0c;从而避免了调用socket的动态库来实现socket的麻烦。下面我们就来看一个简单的例子&#xff0c;从这个简单的例子来看看.net中的so…

ARP协议学习

Dolphin&#xff0c;ChinaBJ&#xff0c;20131122本文档是检验自己学习TCP/IP协议卷1&#xff1a;协议中关于ARP协议的学习情况。本文档包含以下四部分&#xff1a;1、简述ARP协议&#xff1b;2、ARP的分组格式&#xff1b;3、ARP Spoofing 实验 4、应用及防御方法。1.简述ARP协…

数学,对人工智能开发者意味着什么

21世纪以来&#xff0c;全球化的加速和互联网的蓬勃发展&#xff0c;带来全球范围内电子数据的爆炸性增长&#xff0c;人类迈入了大数据时代。与此同时&#xff0c;计算机芯片的计算能力也持续高速增长。在数据和计算能力指数式增长的支持下&#xff0c;人工智能算法在应用中取…

检查网站是否可以正常访问

# -*- coding: utf-8 -*-import urllib.request import time opener urllib.request.build_opener() opener.addheaders [(User-agent, Mozilla/49.0.2)] #文件格式http://www.baidu.comfile open(E:/auto/url.txt) lines file.readlines() aa[] for line in lines: templ…

使用.NET自带的类实现DataGrid报表的打印。

using System;using System.Windows.Forms;using System.Drawing;using System.Drawing.Printing;using System.Data;using System.Collections;using DataLibrary; namespace ControlLibrary{ /// <summary> /// DataGrid打印 /// </summary> public class DataG…

各种 AI 数据增强方法,都在这儿了

来源 | 算法进阶责编 | 寇雪芹头图 | 下载于视觉中国数据、算法、算力是人工智能发展的三要素。数据决定了Ai模型学习的上限&#xff0c;数据规模越大、质量越高&#xff0c;模型就能够拥有更好的泛化能力。然而在实际工程中&#xff0c;经常有数据量太少(相对模型而言)、样本不…

ORACLE11g 前期安装环境配置

Linux系统可以拿来直接用的脚本哦#!/bin/bashservice iptables stop &> /dev/nulliptables -F service iptables save &> /dev/nullsed -i s/enforcing/disabled/ /etc/selinux/configsetenforce 0sed /tmpfs/d /etc/fstab &> /dev/nullecho tmpfs …

linux mysql 卸载,安装,測试全过程

Mysql卸载yum remove mysql mysql-server mysql-libs compat-mysql51rm -rf /var/lib/mysqlrm /etc/my.cnf查看是否还有mysql软件&#xff1a;rpm -qa|grep mysql有的话继续删除Mysql安装1>若本地没有安装包 能够考虑使用yum命令进行下载# yum -y install mysql-server# yum…

C#中获取程序当前路径的集中方法

string str1 Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。 string str2Environment.CurrentDirectory;//获取和设置当前目录&#xff08;即该进程从中启动的目录&#xff09;的完全限定路径。//备注 按照定义&#xff0c;如果该进程在本…

如何开启远程(win7win8)

如何开启远程连接点击我的电脑-属性-高级系统设置-远程-选中“允许远程连接到此计算机”-应用-确定。在局域网内&#xff0c;拥有固定IP的话&#xff0c;就很容易远程处理事情了。若经过此步骤还不能远程的话&#xff0c;则需要查看系统是否开启了远程服务。“我的电脑”--管理…

微软推出“ Group Transcribe”应用,多人多语言会议实时高准确度文字转录并翻译

近期&#xff0c;微软针对面对面对话和会议推出了免费实时语音到文字转录和翻译应用程序——Group Transcribe。一方面&#xff0c;Group Transcribe可以通过手机把会议的语音内容实时转录为文本&#xff0c;供与会者阅读和浏览。 另一方面&#xff0c;在实时交流过程中&#x…

STM32单片机外部中断配置讲解

2019独角兽企业重金招聘Python工程师标准>>> 单片机外部中断简介 所谓外部中断&#xff0c;就是通过外部信号所引起的中断&#xff0c;如单片机引脚上的电平变化(高电平、低电平)、边沿变化(上升沿、下降沿)等。51单片机有5个中断源&#xff0c;其中有两个是外部中断…

Android语音信号波形显示

简单地介绍了AudioRecord和AudioTrack的使用&#xff0c;这次就结合SurfaceView实现一个Android版的手机模拟信号示波器(PS&#xff1a;以前也讲过J2ME版的手机示波器)。最近物联网炒得很火&#xff0c;作为手机软件开发者&#xff0c;如何在不修改手机硬件电路的前提下实现与第…

科研费4年翻3倍,全球科研队伍突破8000人,滴滴致力打造出行领域核心技术

日前&#xff0c;十三届全国人大四次会议表决通过了《国民经济和社会发展第十四个五年规划和2035年远景目标纲要》&#xff08;下称《规划》&#xff09;。《规划》强调要坚持创新在我国现代化建设全局中的核心地位&#xff0c;把科技自立自强作为国家发展的战略支撑。 《规划…

c++ 继承访问控制初步

访问控制方式这里有篇很好的文章,其实内容也是总结cprimer上的内容 现在就按照这篇的文章举例进行学习. 思路 不同继承方式的影响主要体现在&#xff1a; 1、派生类成员对基类成员的访问控制。 2、派生类对象对基类成员的访问控制 三种继承方式 公有继承(public) 所有public和p…

Excel在.Net 环境下Web方式下驻留内存问题的解决

这段时间在VS 2003 的WebForm 方式下对Excel 进行操作&#xff0c;遇到一个最为头疼的问题就是对Excel操作完毕后Excel不能够正常关闭&#xff0c;系统退出后&#xff0c;Excel总是驻留在内存中。但是这段代码放到WinForm的程序中又没有问题。在网上进行了查找也没有找到有效可…