HTML

HTML简介

2020-12-22  本文已影响0人  LXEP

前言

在开始学习之前,你不需要预先具有任何HTML的知识,但是你需要至少熟悉一些使用电脑的基础,会被动地使用网络(也就是仅需要看着它,浏览内容)。

开始学习html之前,我们需要哪些工具呢?

HTML介绍

HTML没有1.0,因为关于它的初版存在争议,1995年HTML 2.0面世,1997年由国际官方组织W3C推出了HTML 3.2以及HTML 4.0标准,后面W3C(万维网联盟)也渐渐变成Web技术领域的权威,经过漫长的演变,2014年,HTML 5标准最终面世。

HTML 2.0——1995年11月,RFC 1866发布

HTML 3.2——1997年1月14日,W3C发布推荐标准

HTML 4.0——1997年12月18日,W3C发布推荐标准

HTML 4.01——1999年12月24日,W3C发布推荐标准

HTML 5——2014年10月28日,W3C发布推荐标准

开始学习HTML

我们将从HTML最基础的部分讲起,对元素(Element)、属性(Attribute)以及可能涉及的一些重要术语进行介绍,并明确它们在语言中所处的位置。还会讲解HTML元素和页面的组织方式,以及其他一些重要的基本语言特性。

学习目标

熟悉HTML语言的基础知识,掌握几个HTML元素的基本用法。

HTML是什么

HTML(超文本标记语言——HyperText Markup Language)是构成 Web 世界的一砖一瓦。它定义了网页内容的含义和结构。除 HTML 以外的其它技术则通常用来描述一个网页的表现与展示效果(如 CSS),或功能与行为(如 JavaScript)。

但它不是一门编程语言,而是一种用来告知浏览器如何组织页面的标记语言。HTML可复杂、可简单,一切取决于开发者。它是由一系列元素组成,这些元素可以用来包围不同部分的内容,它可以应用于文本片段,使文本在文档中具有不同的含义(它是一个段落吗?它是一个项目列表吗?它是一个表格吗?),将文档结构化为逻辑块(文档是否有头部?有三列内容?有一个导航菜单?),并且可以将图片,影像等内容嵌入到页面中。

例如:下面一行内容

<p>我真的是一个学霸!</p>

这里将这行文字封装成一个段落(Paragraph)<p>元素来使其在单独一行呈现。

注:HTML标签不区分大小写。也就是说,输入标签时既可以使用大写字母也可以使用小写字母。例如,标签<title>写作<TITLE>、<Title>、<title>、<TiTlE>等等都可以正常工作。不过,从一致性、可读性等方面来说,最好仅使用小写字母

我们来认真的剖析一个HTML元素

HTML元素剖析.png

这个元素的主要部分有:

试一试

自己创建一个元素,使用标签<em></em>将开始标签与结束标签里面的内容变为斜体。

嵌套元素

你也可以把元素放到其他元素中——这就被称为嵌套。如果我们想要强调我是一个“学霸”,可以将“学霸”嵌套在<strong>中,这意味着这个单词被着重强调:

<p>我真的是一个<strong>学霸</strong>!</p>

你需要确保元素被正确地嵌套,在上面的例子中,我们先打开<p>元素,然后才打开<strong>元素,因此必须先将<strong>元素关闭,然后再去关闭<p>元素。

比如,下面的例子就是错误的嵌套

<p>我真的是一个<strong>学霸!</p></strong>

所有的元素都需要被正确地打开和关闭,这样才能按你所想的方式展现。如果像上述例子一样进行了错误的嵌套,那么浏览器就会去猜想你想表达的意思,但很有可能会得到错误的结果。所以不要这么做

块级元素和内联元素

在HTML中,有两种你需要知道的重要元素类别,块级元素和内联元素。

看一个例子:

<em>第一</em><em>第二</em><em>第三</em>

<p>第四</p><p>第五</p><p>第六</p>

<em>是一个内联元素,所以就像你看到的,第一行代码中的三个元素都没有问题地展示在了同一行。而<p>是一个块级元素,所以第二行代码中的每个元素分别都另起了一行展现,并且每个段落间都有一些间隔(这是因为默认的浏览器有着默认的展示<p>元素的样式)

块级元素与内联元素.png

空元素

不是所有的标签都拥有开始标签,内容,结束标签。一些元素只有一个标签,通常用来在此元素所在位置插入/嵌入一些东西。空元素(Empty elements) 有时也被叫作 void elements。例如:元素<img>是用来在元素<img>所在位置插入一张指定的图片。例如:

<img src="https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3754439667,699970096&fm=26&gp=0.jpg">
img标签.png

属性

元素还可以拥有属性,如下:

属性png

属性包含元素的额外信息,这些信息不会出现在实际的内容中。

在上述例子中,这个class属性给元素赋了一个用于识别的名字,这个名字此后可以用来识别此元素的样式信息和其他信息。

一个属性必须包含如下内容:

试一试

元素<a>是锚,它使被标签包裹的内容成为一个超链接。此元素也可以添加大量的属性,比如:

自己动手写一个元素内容,使之变成指向任一个你喜欢的web地址链接。

布尔属性

有时你也会看到没有值的属性,它是合法的。这些属性被称之为布尔属性,它们有跟它的属性名一样的属性值。例如disabled属性,它们可以标记表单输入使之变为不可用(变灰色),此时用户不能向它们输入任何数据。

<input type="text" disabled="disabled">

方便起见,我们完全可以将其写成以下形式(下一行代码是正常可以输入的输入框,用于对比)

<!-- 使用disabled属性来防止终端用户输入文本到输入框中 -->
<input type="text" disabled>

<!-- 这个输入框没有disabled属性,所以用户可以向其中输入 -->
<input type="text">
布尔属性.png

省略包围属性值的引号

当你浏览那些粗糙的web网站时,你会发现各种各样的标记风格,其中就有不给属性值添加引号。在这些情况下它时被允许的,但是其他情况下会破坏你的标记。例如,我们可以写一个只有一个href属性的链接,如下:

<a href=https://www.jianshu.com/>收藏</a>

然而,当我们再添加一个title属性时就会出错,如下:

<a href=https://www.jianshu.com/ title=The jianshu homePage>收藏</a>

这个时候浏览器就会误解你的标记,它会把title属性理解为三个属性——title的属性值为The,另外还有两个布尔属性jianshuhomePage。我们看一下鼠标移上去什么效果:

省略包围属性值的引号.png

所以,建议大家始终添加引号——这样可以避免很多问题,并且使得代码易读。

单引号或双引号?

这只是风格问题,你可以从中选择一个你喜欢的。

但是你应该注意单引号和双引号不能在一个属性值里面混用。比如像这样的写法就是错误的:

<a href="https://www.example.com/'>示例</a>

在一个HTML中已经使用一种引号,你可以在这个引号中嵌套另外一种引号:

<a href="https://www.example.com/" title="这个链接'有趣吗'?">示例</a>

如果你想要将引号当作文本显示在html中,你就必须使用实体引用。

实体引用:在HTML中,字符<,>,",'&是特殊字符,它们是HTML语法自身的一部分,那么你如何将这些字符包含进你的文本中呢,比如说你真的想要在文本中使用符号&或者小于号,而不想让它们被浏览器视为代码并被解释?

我们这是必须使用字符引用——表示字符的特殊编码,它们可以在那些情况下使用,每个字符引用以符号&开始,以分号(;)结束。

原义字符 等价字符引用
< &lt;
> &gt;
" &quot;
' &apos;
& &amp;

剖析HTML文档

学习了一些HTML元素的基础知识,这些单独一个是没有意义的。现在我们来学习这些特定元素是怎么结合起来,从而形成一个完整的HTML页面的:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我是这个页面的标题</title>
</head>
<body>
    <p>我是一个页面,供你剖析HTML文档</p>
</body>
</html>

分析:

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

然而这种写法已经过时了,这些内容已经成为历史。我们只需要知道<!DOCTYPE html>是最短有效的文档声明。

试一试

接着你可以尝试以下步骤

HTML中的空白

无论你在HTML元素的内容中使用多少空格(包括空白字符,包括换行),当渲染这些代码时,HTML解释器会将连续出现的空白字符减少为一个单独的空格符

HTML注释

和大部分的编程语言一样,在HTML中也有一种可用的机制来在代码中书写注释——注释是被浏览器忽略的,而且是对用户不可见的。它们的目的是,允许你描述你的代码时如何工作的和不同部分的代码做了什么等等。

为了将一段HTML中的内容置为注释,你需要将其用特殊的记号包括起来,比如:

<p>我在注释外</p>

<!-- <p>我在注释内</p> -->

小结

学习到这里,现在你应该可以理解HTML语言的全貌,以及它是如何工作,而且可以使用一些元素和属性。

上一篇 下一篇

猜你喜欢

热点阅读