首页 > 其他分享 >HTML入门教程全网最全!(2)

HTML入门教程全网最全!(2)

时间:2024-12-29 17:56:53浏览次数:3  
标签:脚本 入门教程 浏览器 最全 元素 HTML 文档 属性

HTML 文档

<!DOCTYPE> 声明

Web 世界中存在许多不同的文档。只有了解文档的类型,浏览器才能正确地显示文档。

HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面。这就是 <!DOCTYPE> 的用处。

<!DOCTYPE> 不是 HTML 标签。它为浏览器提供一项信息(声明),即 HTML 是用什么版本编写的。

doctype 元素是唯一的,并且在它自己的类别中。

实例

带有 HTML5 DOCTYPE 的 HTML 文档:

<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>

<body>
The content of the document......
</body>

</html>

HTML 版本

从 Web 诞生早期至今,已经发展出多个 HTML 版本:

版本年份
HTML1991
HTML+1993
HTML 2.01995
HTML 3.21997
HTML 4.011999
XHTML 1.02000
HTML52012
XHTML52013

常用的声明

HTML5
<!DOCTYPE html>
HTML 4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
XHTML 1.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

html 元素

html 元素或根元素表示 HTML 的开始。

html 元素有一个 head 元素和一个 body 元素。

以下代码显示了正在使用的 html 元素。

<!DOCTYPE HTML>
<html>
...content and  elements omitted...
</html>

head 元素

head 元素包含文档的元数据。

在HTML中,元数据具有关于文档中的内容和标记的信息。它还包括脚本和对外部资源的引用,例如 CSS 样式表。

head 中的 title 元素必选的元素; 其他元数据元素是可选的。

以下代码显示了正在使用的 head 元素。

每个 HTML 文档都应该包含一个head元素,它必须包含一个title元素,如代码所示。

<!DOCTYPE HTML>
<html>
    <head>
       <title>Hello</title>
    </head>
</html>

元数据元素

元数据元素本身不是内容,但它们提供有关后续内容的信息。

元数据元素被添加到头元素。

body 元素

body 元素封装了 HTML 文档的内容,而 head 元素封装元数据和文档信息。

body 元素总是位于 head 元素之后它是 html 元素的第二个孩子。

HTML4中的body元素的属性:alink, background, bgcolor, link, margintop, marginbottom, marginleft, marginright, marginwidth, text, and vlink,都已过时。

这些属性的效果可以用CSS实现。

下面的代码显示了正在使用的 body 元素。

<!DOCTYPE HTML>
<html>
    <head>
       <title>Example</title>
    </head>
<body>
    <p>This is a test</p>
    <a href="http://www.w3cschool.cn">Visit  www.w3cschool.cn</a>
</body>
</html>

一个 p 元素和一个 a 元素添加到 body 元素。

HTML 元数据

HTML元数据

title

title 元素设置文档的标题。

浏览器通常会在浏览器窗口或选项卡的顶部显示此元素的内容。

每个HTML文档应该只有一个标题元素。

标题文本应该对用户有意义。

以下代码显示了正在使用的标题元素。

<!DOCTYPE HTML>
<html>
<head>
   <title>Example from www.w3cschool.cn</title>
</head>
<body>
    <p>This is a test.</p>
    <a href="https://www.w3cschool.cn">Visit  www.w3cschool.cn</a>
</body>
</html>

尝试一下

HTML Base

base 元素为相对链接设置基本URL。

相对链接是省略URL的协议,主机和端口部分的链接并且针对一些其他URL(由基本元素或由基本元素指定的URL)进行评估用于加载当前文档的URL。

base 元素也指定如何在用户单击链接时打开链接,以及在表单提交后浏览器的行为。

base 元素有两个局部属性

  • href
  • target

HTML文档最多只能包含一个基本元素。

href属性

href 属性指定基本URL将解析文档中的相对URL。

以下代码显示了正在使用的 base 元素和 href 属性。

<!DOCTYPE HTML>
<html>
<head>
   <title>Example</title>
   <base  href="//www.w3cschool.cn/listings/"/>
</head>
<body>
   <p>This is a test.</p>
   <a href="https://www.w3cschool.cn">Visit www.w3cschool.cn</a>
   <a href="/javascript.html">JavaScript</a>
</body>
</html>

尝试一下

上面的代码将基本URL设置为//www.w3cschool.cn/listings/

www.w3cschool.cn 是服务器的名称,和listings是服务器上的目录。

稍后在文档中,它使用相对URL创建一个超链接javascript.html

当用户单击超链接时,浏览器将组合基本URL和相对的URL来创建组合网址 //www.w3cschool.cn/listings/javascript.html

如果不使用 base 元素,那么浏览器将假设它应该解析与当前文档的URL的任何相对链接。

例如,如果从中加载文档URL //www.w3cschool.cn/app/mypage.html 和它包含相对网址为 myotherpage.html 的超链接,那么浏览器将尝试加载第二页从完全限定的网址 //www.w3cschool.cn/app/myotherpage.html

target属性

target 属性指示浏览器如何打开网址。

您为此属性指定的值表示浏览上下文。

HTML元数据

meta 元素定义文档的元数据。

您可以以不同的方式使用此元素,并且HTML文档可以包含多个元素元素。

meta 元素有局部属性,包括 name,content,charset,http-equiv 

charset 属性是HTML5中的新功能HTML4 scheme 属性现在已过时。

元素的每个实例只能用于这些目的之一。

名称/值元数据对

meta 元素的第一个用途是定义名称/值对中的元数据,您使用 name  content 属性。

以下代码使用meta元素在名称/值对中定义元数据。

<!DOCTYPE HTML>
<html>
<head>
    <meta name="author" content="www.w3cschool.cn"/>
    <meta name="description"  content="A simple example"/>
</head>
<body>
    <a href="https://www.w3cschool.cn">Visit  www.w3cschool.cn</a>
</body>
</html>

尝试一下

您可以使用 name 属性来指定元素引用的元数据类型,和content属性来提供一个值。

下表列出了可以与meta元素一起使用的预定义元数据类型。

元数据名称描述
application name当前页面所属Web应用程序的名称
author当前页的作者的名称
description当前页面的描述
generator生成HTML的软件的名称
keywords一组用逗号分隔的字符串,用于描述内容

除了五个预定义的元数据名称之外,您还可以使用元数据扩展。请访问http://wiki.whatwg.org/wiki/MetaExtensions,查看这些扩展程序的列表。

robots 元数据类型被广泛使用。它允许HTML文档的作者指定文档应如何被搜索引擎处理。例如:

<meta name="robots" content="noindex">

大多数搜索引擎将识别的三个值是

  • noindex - 不要索引此页面
  • noarchive - 不要创建此页面的存档或缓存版本
  • nofollow - 不要追踪(即抓取)此页面的链接

HTML字符集

要正确显示HTML页面,我们必须设置字符集(字符编码)。

meta 元素的另一个用途是声明字符编码。

下面的代码中显示了一个示例。

<!DOCTYPE HTML>
<html>
<head>
    <title>Example</title>
    <meta name="author" content="www.w3cschool.cn"/>
    <meta name="description"  content="A simple  example"/>
    <meta charset="utf-8"/>
</head>
<body>
   <p>This is a test.</p>
   <a href="https://www.w3cschool.cn">Visit  www.w3cschool.cn</a>
</body>
</html>

尝试一下

字符集设置为UTF-8编码。UTF-8是一种常见的字符编码。

字符编码

  • ASCII是第一个字符编码标准。它定义127个字母数字字符。ASCII支持的数字(0-9),英文字母(A-Z)和一些特殊字符! $ + - ()@ <>。
  • ANSI(Windows-1252)是原始的Windows字符集。它支持256种不同的字符代码。
  • ISO-8859-1是HTML 4的默认字符集。它支持256种不同的字符代码。
  • UTF-8(Unicode)涵盖了世界上几乎所有的字符和符号。HTML5的默认字符编码为UTF-8。

HTML http-equiv

元素的最终用途是覆盖HTTP(超文本传输​​协议)头之一的值。

HTTP通常用于在服务器和浏览器之间传输HTML数据。

来自服务器的每个HTTP响应都包含一系列描述内容的标题,您可以使用 meta 元素来模拟或替换其中的三个头。

以下代码使用meta元素来模拟HTTP标头

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="refresh"  content="5"/>
</head>
<body>
    <p>This is a test</p>
    <a href="https://www.w3cschool.cn">Visit  www.w3cschool.cn</a>
</body>
</html>

尝试一下

您可以使用 http-equiv 属性指定要模拟的标题,和 content 属性以提供要使用的值。

在上面的代码中, refresh 头设置为5,它要求浏览器每五秒重新加载页面。

Jump

如果使用分号和URL跟随刷新间隔,浏览器将在间隔过去之后加载指定的URL。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="refresh"  content="3; http://www.www.w3cschool.cn"/>
</head>
<body>
   <p>This is a test.</p>
   <a href="https://www.w3cschool.cn">www.w3cschool.cn</a>
</body>
</html>

尝试一下

以下列出了 http-equiv 属性的三个允许值。

  • 属性值:refresh
    设置一个周期(以秒为单位),之后,将从服务器重新加载当前页面。您还可以指定要加载的其他URL。 例如: <meta http-equiv="refresh" content="5; https://www.www.w3cschool.cn"/>
  • 属性值:default-style
    设置应该用于此页面的首选样式表。 content属性的值必须与同一文档中的脚本或链接元素上的title属性匹配。
  • 属性值:content-type
    这是一种指定HTML页面的字符编码的替代方法。例如: <meta http-equiv="content-type" content="text/html charset=UTF-8"/>

HTML 样式 

HTML样式

style 元素允许您在HTML文档中内联定义CSS样式。

style 元素具有局部属性: type,media,scoped 

HTML5中添加了 scoped 属性。

例子

以下代码给出了所使用的样式元素的示例。

<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
a  {
    background-color: grey;
    color: white;
    padding:  0.5em;
}
</style>
</head>
<body>
    <p>This is a test.</p>
    <a href="http://www.w3cschool.cn">Visit  www.w3cschool.cn</a>
</body>
</html>

上面的代码为 a 元素创建了一个新样式。它显示具有灰色背景,白色文本和一些填充的链接。

您可以在整个HTML文档中使用 style 元素,并且单个文档可以包含多个样式元素。

type

style 元素中的 type 属性可以告诉浏览器你要定义什么样的样式;但是,浏览器支持的唯一的样式机制是CSS,所以值的此属性将始终为text/css。

style Media

style 元素中的 media 属性允许您指定应将样式应用于文档的时间。

以下代码提供了如何使用此属性的示例。

<!DOCTYPE HTML>
<html>
<head>
<style  media="screen" type="text/css">
a  {
    background-color: grey;
    color: white;
    padding:  0.5em;
}
</style>
<style  media="print">
a{
    color:Red;
    font-weight:bold;
    font-style:italic
}
</style>
</head>
<body>
    <p>This is a test.</p>
    <a href="http://www.w3cschool.cn">Visit  www.w3cschool.cn</a>
</body>
</html>

上面的代码定义了两个具有不同媒体值的 style 元素。

当HTML在屏幕上显示时,浏览器将应用第一个样式,和打印页面时的第二种样式。

条件

您可以为样式创建非常具体的条件。

首先,您可以指定设备。可能的值列在下表中。

设备描述
all将此样式应用于任何设备(这是默认设置)。
aural将此样式应用于语音合成器。
braille将此样式应用于盲文设备。
handheld将此样式应用于手持设备。
projection将此样式应用于投影机。
print在打印预览和打印页面时应用此样式。
screen当内容显示在计算机屏幕上时应用此样式。
tty将此样式应用于固定宽度的设备,例如电传。
tv将此样式应用于电视。

特征

使用媒体功能可以使您更具体。

以下代码为 style 元素添加了特殊性。

<!DOCTYPE HTML>
<html>
<head>
<style  media="screen AND  (max-width:500px)" type="text/css">
a  {
    background-color: grey;
    color: white;
    padding:  0.5em;
}
</style>
<style  media="screen AND  (min-width:500px)" type="text/css">
a  {
   color:Red; 
   font-style:italic;
}
</style>
</head>
<body>
    <p>This is a test.</p>
    <a href="http://www.w3cschool.cn">Visit  www.w3cschool.cn</a>
</body>
</html>

上面的代码使用 width 功能来区分两种样式。第一个将在浏览器窗口小于500像素时使用,和第二个窗口宽度大于500像素。

您可以使用 AND 将设备与功能组合。

除了 AND 之外,还可以使用 NOT 或逗号(,)表示OR。这允许您创建复杂和相当具体的条件,以应用样式。

可用功能及其修饰符列在下表中。

除非另有说明,否则可以使用 min-  max- 修改这些功能,以创建阈值而不是具体值。

  • width指定浏览器窗口的宽度。
    单位表示为像素的px。
    例如:width:200px
  • height指定浏览器窗口的高度。
    单位表示为像素的px。
    例如:height:200px
  • device-width 指定整个设备的宽度,而不仅仅是浏览器窗口。
    单位表示为像素的px。
    例如:min-device-width:200px
  • device-height指定整个设备的高度,而不仅仅是浏览器窗口。
    单位表示为像素的px。
    例如:min-device-height:200px
  • resolution指定设备的像素密度。
    单位是dpi(每英寸点数)或dpcm(每厘米点数)。
    例如:max-resolution:600dpi
  • orientation 指定设备的方向。
    支持的值为纵向和横向。
    此功能没有修饰符。
    例如:orientation:portrait
  • aspect-ratio指定浏览器窗口设备的像素比率。
    值表示为高度像素数上的宽度像素数。
    例如:aspect-ratio:16/9
  • device-aspect-ratio 指定浏览器窗口或整个设备的像素比率。
    值表示为高度像素数上的宽度像素数。
    例如:min-aspect-ratio:16/9
  • color monochrome指定彩色或单色设备每像素的位数。
    例如:min-monochrome:2
  • color-index指定显示可以显示的颜色数。
    max-color-index:256
  • scan指定电视的扫描模式。支持的值是渐进和交错。
    此功能没有修饰符。
    例如:scan:interlace
  • grid指定设备的类型。网格设备使用固定网格显示内容;例如,基于字符的终端和单行寻呼机显示器。
    支持的值为0和1,其中1是网格设备。此功能没有修饰符。
    例如:grid:0

HTML 资源链接 

HTML资源链接

link 元素在HTML文档和之间创建关系外部资源,CSS样式表或Javascript文件。

link 元素具有局部属性: hrefrelhreflangmediatypesizes 

  • href - 指定链路元素引用的资源的URL。
  • hreflang - 指定链接资源的语言。
  • media - 指定链接内容用于的设备。
  • rel - 指定文档和链接资源之间的关系类型。
  • sizes - 指定图标的大小。
  • type - 指定链接资源的MIME类型,例如text/css 或 image/x-icon.

sizes 属性已在HTML5中添加,属性 charset  rev  target 在HTML5中已过时。

rel 属性值决定浏览器如何处理link元素。以下列表显示 rel 属性的常见值。

  • alternate - 指向文档的替代版本的链接,例如翻译成另一种语言的链接。
  • author - 链接到文档的作者。
  • help - 与当前文档相关的帮助的链接。
  • icon - 指定图标资源。
  • license - 指向与当前文档相关联的许可证的链接。
  • pingback - 指定pingback服务器,允许当其他网站链接到博客时自动通知博客。
  • prefetch - 预加载资源。
  • stylesheet - 加载外部CSS样式表。

例子

为了演示link元素,创建了一个名为 styles.css 的样式表,其具有以下内容。

a  {
    background-color: grey;
    color: red;
    padding: 0.5em;
}

要应用这个样式表,我们可以使用link元素,如下面的代码所示。

<!DOCTYPE HTML>
<html>
<head>
  <link rel="stylesheet" type="text/css" href="styles.css" />
</head>
<body>
  <p>This is a test.</p>
  <a href="http://www.w3cschool.cn">Visit www.w3cschool.cn</a>
</body>
</html>

您可以使用多个 link 元素来加载多个外部资源。外部样式表可以在多个文档中重用。

预加载资源

您可以要求浏览器预加载资源。

下面的代码显示了使用 link 元素来指定预加载。

<!DOCTYPE HTML>
<html>
<head>
<link rel="prefetch" href="/page2.html" />
</head>
<body>
  <p>This is a test.</p>
  <a href="http://www.w3cschool.cn">Visit www.w3cschool.cn</a>
  <a href="page2.html">Page 2</a>
</body>
</html>

上面的代码将 rel 属性设置为 prefetch,并指定HTML页面 page2.html 被加载,期望用户将使用此页面。

HTML 图标

HTML图标

link元素可以定义与您的页面相关联的图标。不同的浏览器以不同的方式处理图标,但通常图标显示在页面选项卡上,以及用户将页面添加到收藏夹列表时。

Favicon图标通常是 .ico 格式的32像素乘32像素的图像文件。浏览器普遍支持此格式。

例子

您可以通过向页面中添加链接元素来使用此图标。

<!DOCTYPE HTML>
<html>
<head>
<link rel="shortcut  icon" href="favicon.ico" type="image/x-icon" />
</head>
<body>
  <p>This is a test.</p>
  <a href="http://www.w3cschool.cn">Visit www.w3cschool.cn</a>
</body>
</html>

加载HTML页面时,浏览器将加载并显示图标。

如果图标位于网站的根目录,则不必使用link元素。大多数浏览器会在加载网页时自动请求此文件,即使没有link元素。

HTML 脚本

HTML脚本

script元素可以包括您的页面中的脚本,在文档中内联定义或引用外部文件。

最常用的脚本类型是JavaScript。

对每个脚本使用一个script元素。

script元素具有局部属性: type,src,defer,async,charset 

script 元素的开始和结束标记是必需的;即使引用外部JavaScript库时,也不允许使用自关闭标记。

在HTML5中, type 属性是可选的。在HTML5中添加了 async  defer 属性。

  • type - 指定引用或定义的脚本的类型。对于JavaScript脚本,可以省略此属性。
  • src - 指定外部脚本文件的URL。
  • defer - 指定如何执行脚本。这些属性只能与src属性结合使用。
  • async - 指定如何执行脚本。这些属性只能与src属性结合使用。
  • charset - 指定外部脚本文件的字符编码。此属性只能与src属性结合使用。

内联脚本

HTML页面中的JavaScript语句包含内联脚本。

<!DOCTYPE HTML>
<html>
<head>
<script>
    document.write("This is from the script");
</script>
</head>
<body>
   <p>This is a test.</p>
   <a href="http://www.w3cschool.cn">Visit  www.w3cschool.cn</a>
</body>
</html>

默认情况下,脚本在页面中遇到时立即执行。您通常使用 head 元素中的 script 元素,但您可以在HTML文档中的任何位置使用它。

外部脚本

您可以将脚本分成单独的文件,并使用script元素加载它们。

假设我们有一个名为 simple.js 的文件,其内容如下面代码所示。

document.write("This is from  the   external script");

该文件包含单个语句。然后,我们可以使用script元素中的 src 属性来引用此文件。

如果使用 src 属性,则脚本元素必须为空。您不能使用相同的脚本元素来定义内联脚本和外部脚本。

以下代码显示如何使用外部脚本。

<!DOCTYPE HTML>
<html>
<head>
   <script src="simple.js"></script>
</head>
<body>
    <p>This is a test.</p>
    <a href="http://www.w3cschool.cn">Visit  www.w3cschool.cn</a>
</body>
</html>

src 属性的值是要加载的脚本文件的URL。 simple.js 文件与HTML文件位于同一目录中。

需要脚本元素的结束标记,即使元素没有内容。如果在引用外部脚本时使用自动关闭标记,浏览器将忽略该元素,而不加载文件。

延迟脚本

你可以通过使用 async  defer 属性来控制脚本的执行。

defer 属性指示浏览器在页面加载和解析之前不执行脚本。

要了解defer属性的好处,让我们看看它解决的问题。

假设 simple2.js 脚本文件具有如下所列的单个语句。

document.getElementById("myID").innerText = "myValue";

当此脚本运行时,它将找到一个 id 属性值为 myID 的元素,并将该元素的内部文本更改为 myValue 

以下HTML文档使用script元素引用脚本文件。

<!DOCTYPE HTML>
<html>
<head>
   <script src="simple2.js"></script>
</head>
<body>
   <p id="myID">This is a test.</p>
</body>
</html>

浏览器遇到script元素时的默认行为是停止处理HTML文档时,加载脚本文件并执行其内容。

这意味着浏览器在解析其余HTML之前加载并执行simple2.js中的语句,并发现了 p 元素。

脚本找不到所需的元素,因此不应用任何更改。

脚本完成后,浏览器继续解析HTML,并找到 p 元素。

要解决这个问题,请将script元素放在文档的末尾。

<!DOCTYPE HTML>
<html>
<body>
  <p id="myID">This is a test.</p>
  <a href="http://www.w3cschool.cn">Visit www.w3cschool.cn</a>
  <script src="simple2.js"></script>
</body>
</html>

defer属性

在HTML5中,您可以通过使用 defer 属性来实现相同的效果。当浏览器遇到具有defer属性的脚本时,它会阻止加载和执行脚本,直到HTML文档中的所有元素都已解析为止。

<!DOCTYPE HTML>
<html>
<head>
   <script defer src="simple2.js"></script>
</head>
<body>
   <p id="myID">This is a test.</p>
   <a href="http://www.w3cschool.cn">www.w3cschool.cn</a>
</body>
</html>

您可以仅对外部脚本文件使用 defer 属性。它不工作的内联脚本。

异步脚本

遇到script元素时的默认浏览器行为是在加载和执行脚本时停止处理页面。

每个script元素按照它们定义的顺序同步执行,当脚本加载和运行时,不会发生其他事情。

您可以使用async 属性来提高性能。例如,可以异步地执行不与HTML文档中的元素交互的自包含脚本。

当您使用 async 属性时,浏览器会异步加载和执行脚本,同时继续解析HTML中的其他元素,包括其他脚本元素。

以下代码显示了应用于脚本元素的 async 属性。

<!DOCTYPE HTML>
<html>
<head>
   <script async  src="simple2.js"></script>
</head>
<body>
    <p>This is a test.</p>
    <a href="http://www.w3cschool.cn">www.w3cschool.cn</a>
</body>
</html>

注意

具有async 属性的脚本可能不会按照它们的定义顺序执行。

这使得async特性不适用于依赖于由其他脚本定义的函数或值的脚本。

noscript元素

noscript 元素允许您向其显示内容已禁用JavaScript或正在使用浏览器的用户不支持它。

noscript 元素显示内容和说明,除非他们启用JavaScript,否则他们不能使用您的网站或网页。

以下代码显示了设置为显示简单消息的noscript 元素。

<!DOCTYPE HTML>
<html>
<head>
<script defer src="simple2.js"></script>
<noscript>
    <h1>Javascript is required!</h1>
    <p>You  cannot use  this page  without Javascript</p>
</noscript>
</head>
<body>
   <p>This is a test.</p>
   <a href="http://www.w3cschool.cn">Visit  www.w3cschool.cn</a>
</body>
</html>

页面的其余部分正常处理,内容元素仍然显示。

您可以向页面添加多个noscript元素。

如果不支持JavaScript,您还可以将用户的浏览器重定向到其他网址,方法是将meta元素放在noscript元素中。

<!DOCTYPE HTML>
<html>
<head>
<script defer src="simple2.js"></script>
<noscript>
   <meta http-equiv="refresh"  content="0; http://www.www.w3cschool.cn"/>
</noscript>
</head>
<body>
   <p>This is a test.</p>
   <a href="http://www.w3cschool.cn">www.w3cschool.cn</a>
</body>
</html>

当不支持JavaScript或禁用JavaScript的浏览器时,这会将用户重定向到www.w3cschool.cn网站。

标签:脚本,入门教程,浏览器,最全,元素,HTML,文档,属性
From: https://blog.csdn.net/m0_69824302/article/details/144803635

相关文章