定义:
HTML 是用来描述网页的一种语言。
CSS样式则定义如何显示 HTML 元素。
HTML用来布局,对HTML语言来讲,语义化是它所看重的。
目前对于html语义化意义的理解:1)html语义化可以让文档在没有css的情况下,页面也能够比较好地呈现出内容结构、代码结构;2)html语义化可以方便其他设备更好地解析。例如可以让机器更好地解析这篇文档,在阅读一篇html文档时可以理解这篇文档的内容,比如遇到h1~h6标签它就会知道这是一个标题,遇到artical标签它就会知道这是一篇文章,遇到table标签它就会知道这里是一个表格。这对于视觉障碍需要设备语音的人员来讲是很重要的;3)有利于SEO,即和搜索引擎建立良好的沟融,帮助爬虫爬去更多更有效的信息,因为爬虫依赖于标签来确定上下文和各个关键字的权重。4)方便团队的开发和维护,因为语义化更具有可读性。5)语义化标签的恰当应用有利于用户体验的提升,如lable标签。
CSS用来规定HTML文档的表现样式,所以丰富的表现力对它来讲是重要的。
1.HTML基本概念
1.1HTML文档
符合HTML定义的语法规则的文本。一个完整的HTML文档一般符合如下的结构。
<!DOCTYPE html>
<html>
<head>
<标签1>内容</标签1>
<标签2>内容</标签2>
<标签3>内容</标签3>
</head>
<body>
<标签1>内容</标签1>
<标签2>内容</标签2>
<标签3>内容</标签3>
</body>
</html>
1.2HTML元素
HTML 文档是由 HTML 元素定义的。HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码。
例如
<p> This is a paragraph </p>
这就是一个html元素。
1.3HTML属性
属性用来提供有关 HTML 元素的更多的信息,一般是以键值对的形式出现。
例如
<a href="http://www.w3school.com.cn">This is a link</a>
其中的href="http://www.w3school.com.cn"
就是a标签的一个属性。
2.HTML元素
2.1元素种类
- 块级元素(block)
- 行内元素(inline)
用法:无论是块级元素还是行内元素都只能出现在body标签中。
区别:
- 格式上:块级元素都会从新的一行开始,而行内元素可以从一行的任意位置开始
- 内容上:块级元素可以包含其他块级元素和行内元素,这种区别意味着块级元素可以生成比行内元素更大的结构。
以上的两个区别适用于HTML4.01及之前的规范,在HTML5中它们之间的差别用一种更加复杂的内容种类(Content categories)来规范。在HTML5中块级元素的分类严格对应flow content,行内元素则对应于phrasing content。参考:https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content
块级元素有
- address
- article (HTML5)
- aside (HTML5)
- blockquote
- canvas (HTML5)
- dd
- div
- dl
- fieldset
- figcaption (HTML5)
- figure (HTML5)
- footer (HTML5)
- form
- h1~h6
- header (HTML5)
- hgroup (HTML5)
- hr
- li
- main
- nav
- nocsript
- ol
- output (HTML5)
- p
- pre
- section (HTML5)
- table
- tfoot
- ul
- video (HTML5)
行内元素有
- b,big,i,small,tt
- abbr,cite,code,dfn,em,kbd,strong,samp,time,var
- a,bdo,br,img,map,object,q,script,span,sub,sup
- button,input,lable,select,textarea
2.2HTML元素及使用