HTML不是一种编程语言而是一种标记语言,标记语言是一套标记标签,HTML使用标记标签来描述网页。
标签属性:有一对尖括号包含关键字组成,一般成对出现,第一个标签叫开始标签(开放标签),第二个标签叫结束标签(闭合标签)。
HTML文档 == 网页 ,HTML文档描述网页,文档包含HTML标签和文本。
成对出现的标签,如<a></a>,其中结束标签的"/"前面不能有空格等,否则标签不会被识别。
HTML元素是指从开始标签到结束标签的所有代码。没有内容的元素被称为空元素,空元素在开始标签中结束。
HTML4.01对大小写不敏感,w3c推荐使用小写,在XHTML中强制使用小写。
属性:
HTML标签可以拥有属性,属性提供了有关标签的更多的信息。
属性总是以名/值对的形式出现,并且只存在于开始标签中。
小写属性,始终为属性值加引号。
标题:
标题(heading)是通过<h1>---<h6>标签来实现的
浏览器回自动的在标题前后添加空行,默认情况下,浏览器会自动在块级元素前后添加空行,如标题,段落等
请确保使用标题标签仅仅是为了实现标题,而不是为了实现字体和粗体的效果,因为搜索引擎使用标题为网页的结构和内容编制索引,同时用户可以通过标
题来快速的浏览网页,所以用标题来呈现文档结构是很重要的。
<pre></pre>:预格式化标签,保留文本中的空格和换行,比较适合显示计算机代码。
<big></big> : 定义大号字体。反之<small></small>
<em></em> : 定义着重文字。
<strong></strong> : 定义加重语气。
<kbd></kbd> : 定义键盘码。
<sample></sample>:定义计算机代码样本。
<a>超链接标签name属性的用法:
在跳转的目标标签<a>里面添加其name属性,并为该属性赋值,然后在跳转的入口处用<a>标签的href属性,为href属性赋值,赋值的格式为# + name属性值,这样单击这个超链接,那么页面就会跳转到规定了相应name值的地方。因为name属性只有<a>标签具有,难道只能在跳转的目的地用<a>标签定义才能跳转成功吗?显然不是,name属性也可以用id属性代替,这样只要规定某个标签的id属性,那么就可以跳转到这里来。
也可以跳转到其他页面的某个地方,只要在相应的在对应的href属性只里面加上该页面的地址然后再加上#和锚点值。
注释:请始终将正斜杠添加到子文件夹。假如这样书写链接:href="http://www.w3school.com.cn/html",就会向服务器产生两次 HTTP 请求。这是因为服务器会添加正斜杠到这个地址,然后创建一个新的请求,就像这样:href="http://www.w3school.com.cn/html/"。
提示:命名锚经常用于在大型文档开始位置上创建目录。可以为每个章节赋予一个命名锚,然后把链接到这些锚的链接放到文档的上部。如果您经常访问百度百科,您会发现其中几乎每个词条都采用这样的导航方式。
提示:假如浏览器找不到已定义的命名锚,那么就会定位到文档的顶端。不会有错误发生。
<img>标签的alt属性,用于在图像无法加载的时候,在图像位置现实的文本,为每个图像加上alt属性是个好习惯,这有助于更好的显示信息,而且对于那些使用纯文本浏览器的人来说是非常有用的。
当图像嵌入在文本中的时候,align属性用于控制图像与文本的对其方式,默认值为bottom,即图像的底部与文本持平。
表格:
<table>标签:border属性用于定义表格的边框,cellpadding定义单元格内部的padding,cellspacing定义单元格之间的距离。
<th>标签:表格头,用于表格表格的某行或者某列数据的意义,rowspan属性用于定义该单元格跨几行,colspan属性定义单元格跨几列。
<tr>标签:表格表示行的标签 。
<td>标签:表示具体的存放数据的单元格。
<caption>表格的标题。
<thead><tfoot><tbody><col><colgroup>标签后续学习补充、
每个单元格都有align属性,用于规定文本在单元格中的排列。
table标签的frame属性:
注释:frame 属性无法在 Internet Explorer 中正确地显示,在ie9及以上的版本中显示正常,ie8及以下显示效果不一致。
Table with frame="box":表格显示四个边框,内部单元格没有边框
Table with frame="above":表格只显示上边框
Table with frame="below":表格只显示下边框
Table with frame="hsides":表格显示上下边框
Table with frame="vsides":表格显示左右边框
列表:
列表可以嵌套。ul标签嵌套的话,type属性原则不重复,即外层是实心圆点,则内层变为空心圆点,在内层变为实现方块,若嵌套超过三层则往内部的列表一直为实心方块列表样式。ol嵌套则不会改变,一直为默认的数字列表。
<ul>标签:定义无序列表,type属性(disc,circle,square)定义列表前面是实心圆点,空心圆点,实心方块。
<ol>标签:定义有序列表,type属性(默认数字,A,a ,I,i)定义列表前面分别是数字,大写字母,小写字母,大写罗马字母,小写罗马字母。
<li>标签:有序和无序列表的列表项。
<dl>标签:自定义标签
<dt>标签:自定义标签的项目
<dd>标签:自定义标签项目的描述、
表单:
表单(<form></form>)是一个包含表单元素的区域。表单元素是指允许用户在表单中输入信息的元素。
多数情况下被用到的标签是<input>标签,输入类型有该标签的type属性决定。
type取值:text,radio ,checkbox、button、reset、submit。。。
<select></select>下拉列表。<option>下拉列表的选项,value属性表示选中该选项之后返回的变量值,若要默认选中某项,则为该项的selected赋值”selected“
<textarea rows = "" cols = "">:rows和cols分别表示该文本区域的面积。
<fieldset>标签和<legend>标签配合实现如下效果:
表单的action属性:当用户单击确认按钮的时候(<input type = "submit" value = "submit">),表单的内容会被传递到另外的文件,表单的action属性定义了目的文件的文件名,该文件通常会对表单传递的数据进行相关的处理。
框架:
框架结构标签<frameset>
框架结构标签(<frameset>)
- 框架结构标签(<frameset>)定义如何将窗口分割为框架
- 每个 frameset 定义了一系列行或列
- rows/columns 的值规定了每行或每列占据屏幕的面积
通过使用框架,可以再浏览器中不知显示一个页面,每个框架都独立于其他框架,缺点是:开发人员必须跟踪跟多的html文档,很难打印整张页面。
框架标签:<frame>定义了放置在每个框架中的html文档,noresize属性控制是否可以用鼠标调整边框的大小,赋值noresize
<frameset cols="25%,75%"> <frame src="frame_a.htm"> <frame src="frame_b.htm"> </frameset>
为不支持框架的浏览器添加 <noframes> 标签。
重要提示:不能将 <body></body> 标签与 <frameset></frameset> 标签同时使用!不过,假如你添加包含一段文本的 <noframes> 标签,就必须将这段文字嵌套于 <body></body> 标签内。(在下面的第一个实例中,可以查看它是如何实现的。)
<iframe>内联框架用于在网页中显示网页,frameborder属性决定是否显示周围的边框。<iframe>标签可以作为超链接打开的目标,用法:为<iframe>标签设置name属性,然后超链接标签<a>的target属性值赋值为iframe的name属性值,则该链接的网页将在iframe中打开。
颜色:
提示:仅有 16 种颜色名被 W3C 的 HTML 4.0 标准支持,它们是:aqua、black、blue、fuchsia、gray、green、lime、maroon、navy、olive、purple、red、silver、teal、white、yellow。
如果使用其它颜色的话,就应该使用十六进制的颜色值。
<!DOCTYPE>文档类型,帮助浏览器正确的显示网页,不是html标签。
在web世界里面有很多种文档,只有了解文档的类型,浏览器才能正确的加载他们。
同样的HTML也有很多版本,只有完全明白要加载的页面使用的HTML版本,浏览器才能正确的加载他们,它为浏览器提供一项信息,即HTML文档使用什么版本编写的。
在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。
HTML5 不基于 SGML,所以不需要引用 DTD。
常用的 DOCTYPE 声明
HTML 5
<!DOCTYPE html>
HTML 4.01 Strict
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional
该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset
该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
XHTML 1.0 Strict
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional
该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
该 DTD 等同于 XHTML 1.0 Transitional,但允许框架集内容。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
该 DTD 等同于 XHTML 1.0 Strict,但允许添加模型(例如提供对东亚语系的 ruby 支持)。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
放在<head>元素内的标签:
<base> 标签为页面上的所有链接规定默认地址或默认目标(target):
<head> <base href="http://www.w3school.com.cn/images/" /> <base target="_blank" /> </head>
HTML <meta> 元素
元数据(metadata)是关于数据的信息。
<meta> 标签提供关于 HTML 文档的元数据。元数据不会显示在页面上,但是对于机器是可读的。
典型的情况是,meta 元素被用于规定页面的描述、关键词、文档的作者、最后修改时间以及其他元数据。
<meta> 标签始终位于 head 元素中。
元数据可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 web 服务。
针对搜索引擎的关键词
一些搜索引擎会利用 meta 元素的 name 和 content 属性来索引您的页面。
下面的 meta 元素定义页面的描述:
<meta name="description" content="Free Web tutorials on HTML, CSS, XML" />
下面的 meta 元素定义页面的关键词:
<meta name="keywords" content="HTML, CSS, XML" />
name 和 content 属性的作用是描述页面的内容。
<noscript> 标签
<noscript> 标签提供无法使用脚本时的替代内容,比方在浏览器禁用脚本时,或浏览器不支持客户端脚本时。
noscript 元素可包含普通 HTML 页面的 body 元素中能够找到的所有元素。
只有在浏览器不支持脚本或者禁用脚本时,才会显示 noscript 元素中的内容:
<script type="text/javascript"> document.write("Hello World!") </script><noscript>
Your browser does not support JavaScript!</noscript>
如何应付老式的浏览器
如果浏览器压根没法识别 <script> 标签,那么 <script> 标签所包含的内容将以文本方式显示在页面上。为了避免这种情况发生,你应该将脚本隐藏在注释标签当中。那些老的浏览器(无法识别 <script> 标签的浏览器)将忽略这些注释,所以不会将标签的内容显示到页面上。而那些新的浏览器将读懂这些脚本并执行它们,即使代码被嵌套在注释标签内。
实例
JavaScript:
<script type="text/javascript"><!--
document.write("Hello World!")//-->
</script>
URL 编码
URL 只能使用 ASCII 字符集来通过因特网进行发送。
由于 URL 常常会包含 ASCII 集合之外的字符,URL 必须转换为有效的 ASCII 格式。
URL 编码使用 "%" 其后跟随两位的十六进制数来替换非 ASCII 字符。
URL 不能包含空格。URL 编码通常使用 + 来替换空格。
xhtml与 HTML 相比最重要的区别:
文档结构
- XHTML DOCTYPE 是强制性的
- <html> 中的 XML namespace 属性是强制性的,必须使用 <html> 中的 xmlns 属性为文档规定 xml 命名空间。<html xmlns="http://www.w3.org/1999/xhtml">
- <html>、<head>、<title> 以及 <body> 也是强制性的
元素语法
- XHTML 元素必须正确嵌套
- XHTML 元素必须始终关闭
- XHTML 元素必须小写
- XHTML 文档必须有一个根元素
属性语法
- XHTML 属性必须使用小写
- XHTML 属性值必须用引号包围
- XHTML 属性最小化也是禁止的
在XHTML中不鼓励使用name属性,用id属性代替。
重要的兼容性提示:
你应该在 "/" 符号前添加一个额外的空格,以使你的 XHTML 与当今的浏览器相兼容。
语言属性(lang)
lang 属性应用于几乎所有的 XHTML 元素。它定义元素内部的内容的所用语言的类型。
如果在某元素中使用 lang 属性,就必须添加额外的 xml:lang,像这样:
<div lang="no" xml:lang="no"
>Heia Norge!</div>
注释定义和用法
注释标签用于在源代码中插入注释。注释不会显示在浏览器中。
您可使用注释对您的代码进行解释,这样做有助于您在以后的时间对代码的编辑。当您编写了大量代码时尤其有用。
使用注释标签来隐藏浏览器不支持的脚本也是一个好习惯(这样就不会把脚本显示为纯文本):
<script type="text/javascript"> <!-- function displayMsg() { alert("Hello World!") } //--> </script>
注释:注释行结尾处的两条斜杠 (//) 是 JavaScript 注释符号。这可以避免 JavaScript 执行 --> 标签。
W3School -- HTML4.01学习笔记