HTML基础

一、简介

HTML 是用来描述网页的一种语言。

  • HTML 指的是超文本标记语言 (Hyper Text Markup Language)
  • HTML 不是一种编程语言,而是一种标记语言 (markup language)
  • 标记语言是一套标记标签 (markup tag)
  • HTML 使用标记标签来描述网页

二、基础

  • HTML标题(Heading)是通过 <h1>- <h6> 等标签进行定义的。
  • HTML 段落是通过 <p> 标签进行定义的。
  • HTML 链接是通过 <a> 标签进行定义的。
  • HTML 图像是通过 <img> 标签进行定义的。
  • HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码。
  • HTML 标签可以拥有属性。属性提供了有关 HTML 元素的更多的信息。
    属性总是以名称/值对的形式出现,比如:name="value"
    属性总是在 HTML 元素的开始标签中规定。
  • <hr /> 标签在 HTML 页面中创建水平线。
    hr 元素可用于分隔内容。
  • 可以将注释插入 HTML 代码中,这样可以提高其可读性,使代码更易被人理解。浏览器会忽略注释,也不会显示它们。
<!-- 注释内容 -->

# 也可以条件注释
<!--[if IE 8]>
    .... some HTML here ....
<![endif]-->
  • Html中所有连续的空格、空行都被解释为一个空格。
  • 没有内容的 HTML 元素被称为空元素。空元素是在开始标签中关闭的。

三、标题

  • 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的。
  • <h1> 定义最大的标题。<h6> 定义最小的标题。
  • 浏览器会自动地在标题的前后添加空行。
  • HTML 会自动地在块级元素前后添加一个额外的空行,比如段落、标题元素前后。
  • 空行的高度基本一样的。
  • 不要仅仅是为了产生粗体或大号的文本而使用标题,搜索引擎使用标题为您的网页的结构和内容编制索引。

四、段落

  • 段落是通过 <p> 标签定义的。
  • 如果您希望在不产生一个新段落的情况下进行换行(新行),请使用 <br /> 标签。

五、样式

style 属性用于改变 HTML 元素的样式。
font-familycolor 以及 font-size 属性分别定义元素中文本的字体系列、颜色和字体尺寸
text-align 属性规定了元素中文本的水平对齐方式

六、格式化

HTML 可定义很多供格式化输出的元素,比如粗体和斜体字。

  1. 文本格式化:在一个 HTML 文件中对文本进行格式化。
标签 描述
<b> 定义粗体文本。
<big> 定义大号字。
<em> 定义着重文字。
<i> 定义斜体字。
<small> 定义小号字。
<strong> 定义加重语气。
<sub> 定义下标字。
<sup> 定义上标字。
<ins> 定义插入字。
<del> 定义删除字。
<s> 不赞成使用。使用 <del> 代替。
<strike> 不赞成使用。使用 <del> 代替。
<u> 不赞成使用。使用样式(style)代替。
  1. 预格式文本

使用 pre 标签对空行和空格进行控制,它保留空格和换行。

  1. “计算机输出”标签
标签 描述
<code> 定义计算机代码。
<kbd> 定义键盘码。
<samp> 定义计算机代码样本。
<tt> 定义打字机代码。
<var> 定义变量。
<pre> 定义预格式文本。
<listing> 不赞成使用。使用 <pre> 代替。
<plaintext> 不赞成使用。使用 <pre> 代替。
<xmp> 不赞成使用。使用 <pre> 代替。
  1. 引用、引用和术语定义
标签 描述
<abbr> 定义缩写。
<acronym> 定义首字母缩写。
<address> 定义地址。
<bdo> 定义文字方向。
<blockquote> 定义长的引用。
<q> 定义短的引用语。
<cite> 定义引用、引证。
<dfn> 定义一个定义项目。

七、CSS

当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化。有以下三种方式来插入样式表:

  1. 外部样式表
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
  1. 内部样式表
<head>
<style type="text/css">
body {background-color: red}
p {margin-left: 20px}
</style>
</head>
  1. 内联样式
<p style="color: red; margin-left: 20px">
This is a paragraph
</p>

八、链接

HTML 使用超级链接与网络上的另一个文档相连。

超链接可以是一个字,一个词,或者一组词,也可以是一幅图像,您可以点击这些内容来跳转到新的文档或者当前文档中的某个部分。
当您把鼠标指针移动到网页中的某个链接上时,箭头会变为一只小手。
我们通过使用 <a> 标签在 HTML 中创建链接。
有两种使用 <a> 标签的方式:

  • 通过使用 href 属性 - 创建指向另一个文档的链接
  • 通过使用 name 属性 - 创建文档内的书签
  1. 语法
<a href="url">Link text</a>

href 属性规定链接的目

  1. target属性

使用 target 属性,你可以定义被链接的文档在何处显示。
下面的这行会在新窗口打开文档:

<a href="http://www.w3school.com.cn/" target="_blank">Visit W3School!</a>
  1. name属性
  • name 属性规定锚(anchor)的名称。
  • 您可以使用 name 属性创建 HTML 页面中的书签。
  • 书签不会以任何特殊方式显示,它对读者是不可见的。
  • 当使用命名锚(named anchors)时,我们可以创建直接跳至该命名锚(比如页面中某个小节)的链接,这样使用者就无需不停地滚动页面来寻找他们需要的信息了。
# 在 HTML 文档中对锚进行命名(创建一个书签)
<a name="tips">基本的注意事项 - 有用的提示</a>
# 在同一个文档中创建指向该锚的链接
<a href="#tips">有用的提示</a>
# 在其他页面中创建指向该锚的链接:
<a href="http://www.w3school.com.cn/html/html_links.asp#tips">有用的提示</a>

九、图像

  • <img> 是空标签,意思是说,它只包含属性,并且没有闭合标签。
    要在页面上显示图像,你需要使用源属性(src)。src 指 "source"。源属性的值是图像的 URL 地址。
  • alt 属性用来为图像定义一串预备的可替换的文本。替换文本属性的值是用户定义的。
  • 在浏览器无法载入图像时,替换文本属性告诉读者她们失去的信息。此时,浏览器将显示这个替代性的文本而不是图像。为页面上的图像都加上替换文本属性是个好习惯,这样有助于更好的显示信息,并且对于那些使用纯文本浏览器的人来说是非常有用的。

十、表格

  • 表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。
  • 表格的表头使用 <th> 标签进行定义。
  • 使用边框属性来显示一个带有边框的表格:border

十一、列表

  • 无序列表是一个项目的列表,此列项目使用粗体圆点(典型的小黑圆圈)进行标记。
  • 无序列表始于 <ul> 标签。每个列表项始于 <li>
  • 同样,有序列表也是一列项目,列表项目使用数字进行标记。
    有序列表始于 <ol> 标签。每个列表项始于 <li> 标签。
  • 自定义列表不仅仅是一列项目,而是项目及其注释的组合。
  • 自定义列表以 <dl> 标签开始。每个自定义列表项以 <dt> 开始。每个自定义列表项的定义以 <dd> 开始。

十二、HTML 块

HTML 块元素

  • 大多数 HTML 元素被定义为块级元素或内联元素。
  • 编者注:“块级元素”译为 block level element,“内联元素”译为 inline element。
  • 块级元素在浏览器显示时,通常会以新行来开始(和结束)。
    例子:<h1>, <p>, <ul>, <table>

HTML 内联元素

  • 内联元素在显示时通常不会以新行开始。
    例子:<b>, <td>, <a>, <img>

HTML <div> 元素

  • HTML <div> 元素是块级元素,它是可用于组合其他 HTML 元素的容器。
  • <div> 元素没有特定的含义。除此之外,由于它属于块级元素,浏览器会在其前后显示折行。
  • 如果与 CSS 一同使用,<div> 元素可用于对大的内容块设置样式属性。
  • <div> 元素的另一个常见的用途是文档布局。它取代了使用表格定义布局的老式方法。使用 <table> 元素进行文档布局不是表格的正确用法。<table> 元素的作用是显示表格化的数据。

HTML <span> 元素

  • HTML <span> 元素是内联元素,可用作文本的容器。
  • <span> 元素也没有特定的含义。
  • 当与 CSS 一同使用时,<span> 元素可用于为部分文本设置样式属性。

十三、类

对 HTML 进行分类(设置类),使我们能够为元素的类定义 CSS 样式。
为相同的类设置相同的样式,或者为不同的类设置不同的样式。

十四、框架

  • 通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。
  • 每份HTML文档称为一个框架,并且每个框架都独立于其他的框架。

使用框架的坏处:

  • 开发人员必须同时跟踪更多的HTML文档
  • 很难打印整张页面

框架结构标签(<frameset>

  • 框架结构标签(<frameset>)定义如何将窗口分割为框架
  • 每个 frameset 定义了一系列行或列
  • rows/columns 的值规定了每行或每列占据屏幕的面积

框架标签(Frame

  • Frame 标签定义了放置在每个框架中的 HTML 文档。
  • 假如一个框架有可见边框,用户可以拖动边框来改变它的大小。为了避免这种情况发生,可以在<frame>标签中加入:noresize="noresize"

十五、内联框架

  • iframe 用于在网页内显示网页。
  • heightwidth属性用于规定 iframe 的高度和宽度。
  • frameborder 属性规定是否显示iframe周围的边框。
  • iframe 可用作链接的目标(target)。
  • 链接的 target 属性必须引用 iframename 属性。

十六、头部

  • <head> 元素是所有头部元素的容器。<head> 内的元素可包含脚本,指示浏览器在何处可以找到样式表,提供元信息,等等。
    以下标签都可以添加到 head 部分:<title><base><link><meta><script> 以及 <style>
  • <title> 标签定义文档的标题。
  • <base> 标签为页面上的所有链接规定默认地址或默认目标(target)
  • <link> 标签定义文档与外部资源之间的关系。
  • <link> 标签最常用于连接样式表:
  • <style> 标签用于为 HTML 文档定义样式信息。
    您可以在 style 元素内规定 HTML 元素在浏览器中呈现的样式:

元数据(metadata)是关于数据的信息。

  • <meta> 标签提供关于 HTML 文档的元数据。元数据不会显示在页面上,但是对于机器是可读的。
    典型的情况是,meta 元素被用于规定页面的描述、关键词、文档的作者、最后修改时间以及其他元数据。
  • <meta> 标签始终位于 head 元素中。
    元数据可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 web 服务。namecontent 属性的作用是描述页面的内容。
<meta name="keywords" content="HTML, CSS, XML" />

十七、实体

在 HTML 中,某些字符是预留的。如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体(character entities)。

显示结果 描述 实体名称 实体编号
空格 &nbsp; &#160;
< 小于号 &lt; &#60;

|大于号| &gt;| &#62;
& |和号| &amp;| &#38;
"| 引号| &quot;| &#34;
' |撇号| &apos; (IE不支持)| &#39;
¢| 分(cent)| &cent;| &#162;
£| 镑(pound)| &pound;| &#163;
¥| 元(yen)| &yen;| &#165;
€| 欧元(euro)| &euro;| &#8364;
§| 小节| &sect;| &#167;
©| 版权(copyright)| &copy;| &#169;
®| 注册商标| &reg;| &#174;
™| 商标| &trade; |&#8482;
×| 乘号| &times;| &#215;
÷| 除号| &divide;| &#247;

十八、URL

  • URL - Uniform Resource Locator
    统一资源定位器(URL)用于定位万维网上的文档(或其他数据)。
  • URL 只能使用 ASCII 字符集来通过因特网进行发送。
    由于 URL 常常会包含 ASCII 集合之外的字符,URL 必须转换为有效的 ASCII 格式。
  • URL 编码使用 "%" 其后跟随两位的十六进制数来替换非 ASCII 字符。
  • URL 不能包含空格。URL 编码通常使用+来替换空格。

十九、颜色

  • 颜色由一个十六进制符号来定义,这个符号由红色、绿色和蓝色的值组成(RGB)。
  • 每种颜色的最小值是0(十六进制:#00)。最大值是255(十六进制:#FF)。
  • 大多数的浏览器都支持颜色名集合。
  • 提示:仅仅有 16 种颜色名被 W3C 的 HTML4.0 标准所支持。它们是:aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, yellow
    如果需要使用其它的颜色,需要使用十六进制的颜色值。

二十、文档类型

  • <!DOCTYPE> 声明帮助浏览器正确地显示网页。
  • <!DOCTYPE> 不是 HTML 标签。它为浏览器提供一项信息(声明),即 HTML 是用什么版本编写的。

二十一、XHTML

XHTML 是以 XML 格式编写的 HTML。

  • XHTML 指的是可扩展超文本标记语言
  • XHTML 与 HTML 4.01 几乎是相同的
  • XHTML 是更严格更纯净的 HTML 版本
  • XHTML 是以 XML 应用的方式定义的 HTML
  • XHTML 是 2001 年 1 月发布的 W3C 推荐标准
  • XHTML 得到所有主流浏览器的支持

与 HTML 相比最重要的区别:

文档结构

  • XHTML DOCTYPE 是强制性的
  • <html> 中的 XML namespace 属性是强制性的
  • <html><head><title> 以及 <body> 也是强制性的

元素语法

  • XHTML 元素必须正确嵌套
  • XHTML 元素必须始终关闭
  • XHTML 元素必须小写
  • XHTML 文档必须有一个根元素

属性语法

  • XHTML 属性必须使用小写
  • XHTML 属性值必须用引号包围
  • XHTML 属性最小化也是禁止的

二十二、表单

HTML 表单用于搜集不同类型的用户输入。

<form> 元素

HTML 表单用于收集用户输入。
<form> 元素定义 HTML 表单:

<input> 元素

  • <input> 元素是最重要的表单元素。
  • <input> 元素有很多形态,根据不同的 type 属性。
类型 描述
text 定义常规文本输入。
radio 定义单选按钮输入(选择多个选择之一)
submit 定义提交按钮(提交表单)

Action 属性

  • action 属性定义在提交表单时执行的动作。
  • 向服务器提交表单的通常做法是使用提交按钮。
  • 通常,表单会被提交到 web 服务器上的网页。

method 属性

规定在提交表单时所用的 HTTP 方法(GET 或 POST):

您能够使用 GET(默认方法):

  • 如果表单提交是被动的(比如搜索引擎查询),并且没有敏感信息。
    当您使用 GET 时,表单数据在页面地址栏中是可见的:
    GET 最适合少量数据的提交。浏览器会设定容量限制。

您应该使用 POST:

  • 如果表单正在更新数据,或者包含敏感信息(例如密码)。
    POST 的安全性更加,因为在页面地址栏中被提交的数据是不可见的。

Name 属性

如果要正确地被提交,每个输入字段必须设置一个 name 属性。

<fieldset> 组合表单数据

  • <fieldset> 元素组合表单中的相关数据
  • <legend> 元素为 <fieldset> 元素定义标题。

下面是 <form> 属性的列表:

属性 描述
accept-charset 规定在被提交表单中使用的字符集(默认:页面字符集)。
action 规定向何处提交表单的地址(URL)(提交页面)。
autocomplete 规定浏览器应该自动完成表单(默认:开启)。
enctype 规定被提交数据的编码(默认:url-encoded)。
method 规定在提交表单时所用的 HTTP 方法(默认:GET)。
name 规定识别表单的名称(对于 DOM 使用:document.forms.name)。
novalidate 规定浏览器不验证表单。
target 规定 action 属性中地址的目标(默认:_self)。

二十三、表单元素

<input> 元素

  • 最重要的表单元素是 <input> 元素。
  • <input> 元素根据不同的type属性,可以变化为多种形态。

<select> 元素(下拉列表)

  • <select> 元素定义下拉列表。
  • <option> 元素定义待选择的选项。
  • 列表通常会把首个选项显示为被选选项。
  • 您能够通过添加 selected 属性来定义预定义选项。

<textarea> 元素

  • <textarea> 元素定义多行输入字段(文本域):

<button> 元素

<button> 元素定义可点击的按钮:

HTML5 表单元素

HTML5 增加了如下表单元素:

  • <datalist>
  • <keygen>
  • <output>

注释:默认地,浏览器不会显示未知元素。新元素不会破坏您的页面。

HTML5 <datalist> 元素

  • <datalist> 元素为<input>元素规定预定义选项列表。
  • 用户会在他们输入数据时看到预定义选项的下拉列表。
  • <input> 元素的 list 属性必须引用<datalist>元素的 id属性。

HTML5 输入类型

HTML5 增加了多个新的输入类型:

  • color
  • date
  • datetime
  • datetime-local
  • email
  • month
  • number
  • range
  • search
  • tel
  • time
  • url
  • week

注释:老式 web 浏览器不支持的输入类型,会被视为输入类型 text。

输入限制

这里列出了一些常用的输入限制(其中一些是 HTML5 中新增的):

属性 描述
disabled 规定输入字段应该被禁用。
max 规定输入字段的最大值。
maxlength 规定输入字段的最大字符数。
min 规定输入字段的最小值。
pattern 规定通过其检查输入值的正则表达式。
readonly 规定输入字段为只读(无法修改)。
required 规定输入字段是必需的(必需填写)。
size 规定输入字段的宽度(以字符计)。
step 规定输入字段的合法数字间隔。
value 规定输入字段的默认值。
posted @ 2018-08-11 11:20  Jxner  阅读(108)  评论(0)    收藏  举报