HTML5基础——笔记

HTML5基础——笔记

  近几年来,互联网+、大数据、云计算‘物联网‘虚拟现实‘人工智能、机器学习、移动互联网等IT相关新名词、新概念层出不穷,相关产业发展如火如荼。互联网+移动互联网已经深入到人民日常生活的角角落落,人民已经离不开互联网。为了让用户有更好的互联网体验效果 ,Web前端开发、移动终端开发相关技术发展迅猛。

  HTML、CSS、JavaScript、jQuery、Bootstrap、Vue等技术相关配合使用,大大减少了Web前端开发者的工作量,降低了开发成本。本系列主要在帮助读者(我和你)快速掌握目前最前沿技术,使前端设计从外观上变得更炫,在技术上更简易。

  HTML是Hypertext Markup Language的缩写,中文翻译为:超文本标记语言,使用HTML编写的文档称为网页,目前最新版本是HTML5,而使用最广泛的是HTML4.1版本。

1、HTML4 基本语法

  HTML文档一般都应包含两个部分:头部区域和主体区域。HTML文档基本结构由3个标签页负责组织:<html>、<head>和<body>。其中<html>标签标识HTML文档,<head>标签标识头部区域,而<body>标签标识主体区域。

<html> <!--语法开始-->
    <head>
            <!--头部信息,如<titile>标签定义的网页标题-->
    </head>
    <body>
            <!--主体信息,包含网页显示的内容-->
    </body>
</html> <!--语法结束-->

  编写HTML文档时,必须遵循HTML语法规范。HTML文档由标签和信息混合组成,当然这些标签和信息必须遵循一定的组合规则,否则浏览器无法解析的。

  HTML语言的规范条文不多,从逻辑上分析,这些标签包含的内容就表示一类对象,也可以称为网页元素。从形式上分析,这些网页元素通过标签进行分隔,然后表达一定的语义。具体说明如下:

 1 所有标签包含在"<"和">"起止标识符中,构成一个标签。如<style>、<head>、<body>、<div>等。
 2 在HTML文档中,绝大多数元素都有起始标签和结束标签,在起始标签和结束标签之间包含的是元素主体。如<body>和</body>中间包含的就是网页内容主体。
 3 起始标签包含元素的名称以及可选属性,也就是说,元素的名称和属性都必须在起始标签中。结束标签以反斜杠开始,然后附加上元素名称。例如:<tag> 元素主体 </tag>
 4 元素的属性包含属性名称和属性值两部分,中间通过等号进行连接,多个属性之间通过空格进行分隔。例如:<tag a1="v1" a2="v2" a3="v3"……an="vn"> 元素主体 </tag> 
 5 少数元素的属性也可能不包含属性值,仅包含一个属性名称。例如:<tag a1 a2 a3……an> 元素主体 </tag>
 6 一般属性值应该包含在引号内,虽然不加引号,浏览器也能够解析,但是读者应该养成良好的习惯。
 7 属性是可选的,元素包含多少个属性,也是不确定的,这主要根据不同元素而定。不同的元素会包含不同的属性。HTML也为所有元素定义了公共属性,如title、id、class、style等。
 8 虽然大部分标签都成对出现,但是也有少数标签是不成对的,这些孤立的标签,被称为空标签。空标签仅包含起始标签,没有结束标签。例如:<tag>
 9 标签可以相互嵌套,形成文档结构。嵌套必须匹配,不能如<div><span></div></span>这样交错嵌套。合法的嵌套应该是包含或被包含的关系,例如,<div><span></span></div>或<span><div></div></span>
10 HTML文档所有信息必须包含在<html>标签中,所有文档元信息应包含在<head>子标签中,而HTML传递信息和网页显示内容应包含在<body>子标签中。
11 <!-- 单行注释--> 或 <!---------n行---->

2、HTML5 基本语法 

  与HTML4相比, HTML5在语法上发生了很大的变化。为了确保兼容性,HTML5根据Web标准,重新定义了一套在现有HTML基础上修改而来的语法,以便各浏览器在运行HTML的时候能够符合通用标准。下面具体介绍在HTML5中语法进行了哪些改变。

  1、内容类型

  HTML5的文件扩展名和内容类型保持不变。例如,扩展名仍然为".html"或"htm",内容类型(ContentType)仍然为"text/html"。

  2、文档类型

  DOCTYPE命令声明文档的类型 ,它是HTML文档必不可少的组成部分,且必须位于代码的第一行。

  在HTML5中,可以不使用版本说明,一份文档将会适用于所有版本的HTML。在HTML5中,文档类型的声明方法如下:<!DOCTYPE html>

   当使用工具时,也可以在DOCTYPE声明中假如SYSTEM识别符,声明方法如下:<!DOCTYPE HTML SYSTEM "about:legacy-compat">

  在HTML5中,DOCTYPE声明方式是不区分大小写的,引号也不区分单引号还是双引号。

  3、字符编码

  在HTML5中 ,继续沿用meta元素定义文档的字符编码,但是简化了charset属性的写法:<meta charset="UTF-8">

  从HTML5开始,对于文件的字符编码推荐使用UTF-8。

  4、标记省略

  在HTML5中,元素的标记可以省略。具体来说,元素的标记分为3种类型: 不允许写结束标记、可以省略结束标记、开始标记和结束标记全部可以省略。下面简单介绍下这3种类型各包括哪些HTML5新元素。

  1. 不允许写结束标记的元素有: area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr。
  2. 可以省略结束标记的元素有:li、dt、dd、p、rt、rp、optgroup、option、colgroup、thead、tbody、tfoot、tr、td、th。
  3. 可以省略全部标记的元素有:html、head、body、colgroup、tbody。

3、HTML4 元素

  HTML4共包含91个元素,这些元素都是针对特定内容、结构或特性定义的。具体分为结构元素、内容元素和修饰元素3大类。、

  1. 结构元素:结构元素用于构建网页文档的结构,多指块状元素。
  2. 内容元素:内容元素定义了元素在文档中表示内容的语义,一般只文本格式化元素,它们多是行内元素。
  3. 修饰元素:修饰元素定义了文本的显示效果。
结构元素:
  • div: 在文档中定义一块区域,即包含框、容器 。
  • span: 在文本行中定义一个区域,即行内包含框。
  • ol: 根据一定的排序进行列表。
  • ul: 没有排序的列表。
  • li: 每条列表项。
  • dl: 以定义的方式进行列表。
  • dt: 定义列表中的词条。
  • dd: 对定义的词条进行解释。
  • del: 定义删除的文本。
  • ins: 定义插入的文本。
  • h1~h6: 标题1~标题6,定义不同级别的标题。
  • p: 定义段落结构。
  • hr: 定义水平线。
内容元素:
  • a: 定义超链接。
  • abbr: 定义缩写词。
  • acronym: 定义取首字母的缩写词。
  • address: 定义地址。
  • dfn: 定义条目。
  • kbd: 定义键盘键。
  • samp: 定义样本。
  • var: 定义变量。
  • tt: 定义打印机字体。
  • code: 定义计算机源代码。
  • pre: 定义预定义格式文本,保留源代码格式。
  • blockquote: 定义大块内容引用。
  • cite: 定义引文。
  • q: 定义引用短语。
  • strong: 定义重要文本。
  • em: 定义文本为重要。
修饰元素:
  • b: 定义粗体。 
  • i: 定义斜体。
  • big: 定义文本增大。
  • small: 定义文本缩小。
  • sup: 定义文本上标。
  • sub: 定义文本下标。
  • bdo: 定义文本显示方向。
  • br: 定义换行。

以下是已废除的修饰元素:

  • center: 定义文本居中。
  • font: 定义文本的样式、大小和颜色。
  • u: 定义文本下划线。
  • s: 定义删除线。strike的缩写。

4、HTML4 属性

  • 核心属性:为大部分元素所共有 

    • class:定义类规则或样式规则。
    • id:定义元素的唯一标识。
    • style:定义元素的样式声明。
  • 语言属性:定义元素的语言类型 

    • lang:定义元素的语言代码或编码。
    • dir:定义文本方向,包括ltr和rtl取值,分别表示从左向右和从右向左。
  • 键盘属性:定义元素的键盘访问方法 

    • accesskey:定义访问某元素的键盘快捷键。
    • tabindex:定义元素的Tab键索引编号。
  • 内容属性:定义元素包含内容的附加信息。 

    • alt:定义元素的替换文本。
    • title:定义元素的提示文本。
    • longdesc:定义元素包含内容的大段描述信息。
    • cite:定义元素包含内容的引用信息。
    • datetime:定义元素包含内容的日期和时间。
  • 延伸属性:定义元素的相关信息 

    • rel:定义当前页面与其他页面的关系。

    • rev:定义其他页面与当前页面的关系。

5、HTML5元素

  HTML5在HTML4的基础上新增了很多新的元素,根据标记内容的类型不同,这些新的元素被分成了如下几种类型。

  • 结构元素
  • 功能元素
  • 表单元素
结构元素: HTML5定义了一组新的语义化机构标记来描述网页内容。
  1. <header>:描述了文档的头部区域,于定义内容的介绍展示区域
  2. <nav>:定义导航链接的部分。
  3. <section>:定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分,section通常 包含了一组内容及其标题。
  4. <article>:定义独立的内容。
  5. <aside>:定义页面主区域内容之外的内容(比如侧边栏)。
  6. <figure>:标签规定独立的流内容(图像、图表、照片、代码等等)。
  7. <figcaption>:定义 <figure> 元素的标题。
  8. <footer>:述了文档的底部区域,一个页脚通常包含文档的作者,著作权信息,链接的使用条款,联系信息等。
 功能元素: 根据页面内容的功能需要,HTML5又新增了很多专用元素。
  1. hgroup元素:用于对整个页面或页面中一个内容区块的标题进行组合。
  2. figure元素:表示一段独立的流内容,一般表示文档主题流内容中的一个独立单元。
  3. video元素:定义视频,比如电影片段或其他视频流。
  4. audio元素:定义音频,比如音乐或其他音频流。
  5. embed元素:用来插入各种多媒体,格式可以是MIDI、WAV、AIFF、AU、MP3等。
  6. mark元素:主要用来在视觉上向用户呈现需要突出显示或高亮显示的文字。
  7. time元素:表示日期或时间,也可以同时表示两者。
  8. canvas元素:表示图形,如图表和其他图像。
  9. output元素:表示不同类型的输出,比如脚本的输出。
  10. source元素:为媒介元素定义媒介资源。
  11. menu元素:表示菜单列表。当希望列出表单控制时使用该标签。
  12. ruby元素:表示ruby注释。
  13. rt元素:表示字符的解释或发音。
  14. rp元素:在ruby解释中使用,以定义不支持ruby元素的浏览器所显示的内容。
  15. wbr元素:表示软换行。
  16. command元素:表示命令按钮,如单选按钮、复选框或按钮。
  17. details元素:表示用户要求得到并且可以得到的细节信息,可与summary 元素配合使用。
  18. datalist元素:可选数据的列表,与input元素配合使用,可以制作出输入值的下拉列表。
  19. datagrid元素:表示可选数据的列表,它以树形列表的形式来显示。
  20. keygen元素:表示生成密钥。
  21. progress元素:表示运行中的进程,可以使用progress来显示JavaScript中耗费时间的函数的进程。
  22. email:表示必须输入E-mail地址的文本输入框。
  23. url:表示必须输入URL地址的文本输入框。
  24. number:表示必须输入数值的文本输入框。
  25. range:表示必须输入一定范围内数字值的文本输入框。
  26. Date Pickers:HTML5拥有多个可供选取日期和时间的新型输入文本框。
表单元素: 通过type属性,HTML5为input元素新增了很多类型。
  1. tel: 格式<input type="tel"/>, 用于输入电话号码的文本框。
  2. search: 格式<input type="search"/>, 表示搜索文本框。
  3. url: 格式<input type="url"/>, 表示必须输入URL地址的文本框。
  4. email: 格式<input type="email"/>, 表示必须输入电子邮件地址的文本框。
  5. datetime: 格式<input type="datetime"/>, 表示日期和时间文本框。
  6. date: 格式<input type="date"/>, 表示日期文本框。
  7. month: 格式<input type="month"/>, 表示月份文本框。
  8. week: 格式<input type="week"/>, 表示周几文本框。
  9. time: 格式<input type="time"/>, 表示时间文本框。
  10. datetime-local: 格式<input type="datetime-local"/>, 表示本地日期和时间文本框。
  11. number: 格式<input type="number"/>, 表示必须输入数字的文本框。
  12. range: 格式<input type="range"/>, 表示范围文本框。
  13. color: 格式<input type="color"/>, 表示颜色文本框。

  这些新类型设计用户代理(浏览器)可以提供用户界面,如日历、日期选择器,或整合用户的地址簿,并提交到服务器的格式。它给用户一个更好的经验,因为在发送到服务器之前,进行输入类型检查,这意味着有更少的时间等待反馈。

6、HTML5 属性

 HTML5 的新的表单属性

本章讲解涉及 <form> 和 <input> 元素的新属性。

新的 form 属性:

  • autocomplete
  • novalidate

新的 input 属性:

  • autocomplete
  • autofocus
  • form
  • form overrides (formaction, formenctype, formmethod, formnovalidate, formtarget)
  • height 和 width
  • list
  • min, max 和 step
  • multiple
  • pattern (regexp)
  • placeholder
  • required

浏览器支持

Input typeIEFirefoxOperaChromeSafari
autocomplete8.03.59.53.04.0
autofocusNoNo10.03.04.0
formNoNo9.5NoNo
form overridesNoNo10.5NoNo
height and width8.03.59.53.04.0
listNoNo9.5NoNo
min, max and stepNoNo9.53.0No
multipleNo3.5No3.04.0
novalidateNoNoNoNoNo
patternNoNo9.53.0No
placeholderNoNoNo3.03.0
requiredNoNo9.53.0No
autocomplete 属性

autocomplete 属性规定 form 或 input 域应该拥有自动完成功能。

注释:autocomplete 适用于 <form> 标签,以及以下类型的 <input> 标签:text, search, url, telephone, email, password, datepickers, range 以及 color。

当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项:

<!DOCTYPE HTML>
<html>
<body>

<form action="/example/html5/demo_form.asp" method="get" autocomplete="on">
First name:<input type="text" name="fname" /><br />
Last name: <input type="text" name="lname" /><br />
E-mail: <input type="email" name="email" autocomplete="off" /><br />
<input type="submit" />
</form>

<p>请填写并提交此表单,然后重载页面,来查看自动完成功能是如何工作的。</p>
<p>请注意,表单的自动完成功能是打开的,而 e-mail 域是关闭的。</p>

</body>
</html>
autofocus 属性

autofocus 属性规定在页面加载时,域自动地获得焦点。

注释:autofocus 属性适用于所有 <input> 标签的类型。

<!DOCTYPE HTML>
<html>
<body>

<form action="/example/html5/demo_form.asp" method="get">
User name: <input type="text" name="user_name" autofocus="autofocus" />
<input type="submit" />
</form>

</body>
</html>
form 属性

form 属性规定输入域所属的一个或多个表单。

注释:form 属性适用于所有 <input> 标签的类型。

form 属性必须引用所属表单的 id:

<!DOCTYPE HTML>
<html>
<body>

<form action="/example/html5/demo_form.asp" method="get" id="user_form">
First name:<input type="text" name="fname" />
<input type="submit" />
</form>

<p>下面的输入域在 form 元素之外,但仍然是表单的一部分。</p>

Last name: <input type="text" name="lname" form="user_form" />

</body>
</html>

注释:如需引用一个以上的表单,请使用空格分隔的列表。

表单重写属性

表单重写属性(form override attributes)允许您重写 form 元素的某些属性设定。

表单重写属性有:

  • formaction - 重写表单的 action 属性
  • formenctype - 重写表单的 enctype 属性
  • formmethod - 重写表单的 method 属性
  • formnovalidate - 重写表单的 novalidate 属性
  • formtarget - 重写表单的 target 属性

注释:表单重写属性适用于以下类型的 <input> 标签:submit 和 image。

<!DOCTYPE HTML>
<html>
<body>

<form action="/example/html5/demo_form.asp" method="get" id="user_form">
E-mail: <input type="email" name="userid" /><br />
<input type="submit" value="Submit" /><br />
<input type="submit" formaction="/example/html5/demo_admin.asp" value="Submit as admin" /><br />
<input type="submit" formnovalidate="true" value="Submit without validation" /><br />
</form>

</body>
</html>

注释:这些属性对于创建不同的提交按钮很有帮助。

height 和 width 属性

height 和 width 属性规定用于 image 类型的 input 标签的图像高度和宽度。

注释:height 和 width 属性只适用于 image 类型的 <input> 标签。

<!DOCTYPE HTML>
<html>
<body>

<form action="/example/html5/demo_form.asp" method="get">
User name: <input type="text" name="user_name" /><br />
<input type="image" src="/i/eg_submit.jpg" width="99" height="99" />
</form>

</body>
</html>
list 属性

list 属性规定输入域的 datalist。datalist 是输入域的选项列表。

注释:list 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email, date pickers, number, range 以及 color。

<!DOCTYPE HTML>
<html>
<body>

<form action="/example/html5/demo_form.asp" method="get">
Webpage: <input type="url" list="url_list" name="link" />
<datalist id="url_list">
    <option label="W3School" value="http://www.w3school.com.cn" />
    <option label="Google" value="http://www.google.com" />
    <option label="Microsoft" value="http://www.microsoft.com" />
</datalist>
<input type="submit" />
</form>

</body>
</html>
min、max 和 step 属性

min、max 和 step 属性用于为包含数字或日期的 input 类型规定限定(约束)。

max 属性规定输入域所允许的最大值。

min 属性规定输入域所允许的最小值。

step 属性为输入域规定合法的数字间隔(如果 step="3",则合法的数是 -3,0,3,6 等)。

注释:min、max 和 step 属性适用于以下类型的 <input> 标签:date pickers、number 以及 range。

下面的例子显示一个数字域,该域接受介于 0 到 10 之间的值,且步进为 3(即合法的值为 0、3、6 和 9):

<!DOCTYPE HTML>
<html>
<body>

<form action="/example/html5/demo_form.asp" method="get">
Points: <input type="number" name="points" min="0" max="10" step="3"/>
<input type="submit" />
</form>

</body>
</html>
multiple 属性

multiple 属性规定输入域中可选择多个值。

注释:multiple 属性适用于以下类型的 <input> 标签:email 和 file。

<!DOCTYPE HTML>
<html>
<body>

<form action="/example/html5/demo_form.asp" method="get">
Select images: <input type="file" name="img" multiple="multiple" />
<input type="submit" />
</form>

<p>当您浏览文件时,请试着选择多个文件。</p>

</body>
</html>
novalidate 属性

novalidate 属性规定在提交表单时不应该验证 form 或 input 域。

注释:novalidate 属性适用于 <form> 以及以下类型的 <input> 标签:text, search, url, telephone, email, password, date pickers, range 以及 color.

<!DOCTYPE HTML>
<html>
<body>

<form action="/example/html5/demo_form.asp" method="get" novalidate="novalidate">
E-mail: <input type="email" name="user_email" />
<input type="submit" />
</form>

</body>
</html>
pattern 属性

pattern 属性规定用于验证 input 域的模式(pattern)。

模式(pattern) 是正则表达式。您可以在我们的 JavaScript 教程中学习到有关正则表达式的内容。

注释:pattern 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email 以及 password。

下面的例子显示了一个只能包含三个字母的文本域(不含数字及特殊字符):

<!DOCTYPE HTML>
<html>
<body>

<form action="/example/html5/demo_form.asp" method="get">
Country code: <input type="text" name="country_code" pattern="[A-z]{3}"
title="Three letter country code" />
<input type="submit" />
</form>

</body>
</html>
placeholder 属性

placeholder 属性提供一种提示(hint),描述输入域所期待的值。

注释:placeholder 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email 以及 password。

提示(hint)会在输入域为空时显示出现,会在输入域获得焦点时消失:

<!DOCTYPE HTML>
<html>
<body>

<form action="/example/html5/demo_form.asp" method="get">
<input type="search" name="user_search" placeholder="Search W3School" />
<input type="submit" />
</form>

</body>
</html>
required 属性

required 属性规定必须在提交之前填写输入域(不能为空)。

注释:required 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。

<!DOCTYPE HTML>
<html>
<body>

<form action="/example/html5/demo_form.asp" method="get">
Name: <input type="text" name="usr_name" required="required" />
<input type="submit" />
</form>

</body>
</html>

7、HTML5 全局属性

  HTML 属性能够赋予元素含义和语境。下面的全局属性可用于任何 HTML5 元素。

NEW:HTML 5 中新的全局属性。

属性描述
accesskey规定访问元素的键盘快捷键
class规定元素的类名(用于规定样式表中的类)。
contenteditable规定是否允许用户编辑内容。
contextmenu规定元素的上下文菜单。
dir规定元素中内容的文本方向。
draggable规定是否允许用户拖动元素。
dropzone规定当被拖动的项目/数据被拖放到元素中时会发生什么。
hidden规定该元素是无关的。被隐藏的元素不会显示。
id规定元素的唯一 ID。
lang规定元素中内容的语言代码。
spellcheck规定是否必须对元素进行拼写或语法检查。
style规定元素的行内样式。
tabindex规定元素的 tab 键控制次序。
title规定有关元素的额外信息。

转载于:https://www.cnblogs.com/zuoyang/p/9393701.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值