一、html标签的嵌套规则
(一)HTML 标签包括 块级元素(block)、内嵌元素(inline)
1、块级元素
一般用来搭建网站架构、布局、承载内容……它包括以下这些标签:
address、blockquote、center、dir、div、dl、dt、dd、fieldset、form、h1-h6、hr、isindex、menu、noframes、noscript、ol、p、pre、table、ul
2、内嵌元素
一般用在网站内容之中的某些细节或部位,用以“强调、区分样式、上标、下标、锚点”等等,下面这些标签都属于内嵌元素:
a、abbr、acronym、b、bdo、big、br、cite、code、dfn、em、font、i、img、input、kbd、label、q、s、samp、select、small、span、strike、strong、sub、sup、textarea、tt、u、var
(二)HTML 标签的嵌套规则
1.块元素可以包含内联元素或某些块元素,但内联元素却不能包含块元素,它只能包含其它的内联元素:
<div><h1></h1><p></p></div> —— 对
<a href=”#”><span></span></a> —— 对
<span><div></div></span> —— 错
2.块级元素不能放在
里面:
<p><ol><li></li></ol></p> —— 错
<p><div></div></p> —— 错
3.有几个特殊的块级元素只能包含内嵌元素,不能再包含块级元素,这几个特殊的标签是:
h1、h2、h3、h4、h5、h6、p、dt
4.li 内可以包含 div 标签 —— 这一条其实不必单独列出来的,但是网上许多人对此有些疑惑,就在这里略加说明:
li 和 div 标 签都是装载内容的容器,地位平等,没有级别之分(例如:h1、h2 这样森严的等级制度^_^),要知道,li 标签连它的父级 ul 或者是 ol 都 可以容纳的,为什么有人会觉得 li 偏偏容纳不下一个 div 呢?别把 li 看得那么小气嘛,别看 li 长得挺瘦小,其实 li 的胸襟很大。
5.块级元素与块级元素并列、内嵌元素与内嵌元素并列:
<div><h2></h2><p></p></div> —— 对
<div><a href=”#”></a><span></span></div> —— 对
<div><h2></h2><span></span></div> —— 错
二、html编码规范
1.HTML doctype
首先,我们应该为每个 HTML 页面的第一行添加标准模式(standard mode)的声明,这样能够确保在每个浏览器中拥有一致的展现。
2.字符编码
通过明确声明字符编码,能够确保浏览器快速并容易的判断页面内容的渲染方式。这样做的好处是,可以避免在 HTML 中使用字符实体标记(character entity),从而全部与文档编码一致(一般采用 UTF-8 编码)。
3.引入 CSS 和 JavaScript 文件
根据 HTML5 规范,在引入 CSS 和 JavaScript 文件时一般不需要指定 type 属性,因为 text/css 和 text/javascript 分别是它们的默认值。
例如:
<link rel="stylesheet" href="code-guide.css">
<script src="code-guide.js"></script>
4.减少标签的数量
任何时候我们都应该尽量使用最少的标签并保持最小的复杂度,编写 HTML 代码时,尽量避免多余的父元素。很多时候,这需要迭代和重构来实现。
5.属性顺序
在编写HTML 属性时我们应当按照以下给出的顺序依次排列,确保代码的易读性,提高团队合作开发效率。
① class ② id, name ③ data-* ④ src, for, type, href
⑤ title, alt ⑥ aria-*, role
几乎每个html标签我们都有可能定义class,class 用于标识高度可复用组件,因此应该排在首位。id 用于标识具体组件,应当谨慎使用(例如,页面内的书签),因此排在第二位。
6.带着SEO优化的思维编写(不大重要)
做好一个网站,我们肯定是希望易于推广出去,在编写html代码的时候我们就应该编写利于搜索引擎索引的代码,例如我们应该给每个a标签加上title属性,应该为每个img标签加上alt属性等等
骆驼命名法
小驼峰法
变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如
int myStudentCount;
变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。
大驼峰法
相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。常用于类名,函数名,属性,命名空间。譬如
public class DataBaseUser;
ps:html语言就算不规范也不会报错,所以就很容易出现不规范的情况~