导语:
虽然早已学完了 html,css,js ,但总是感觉不够深入,知识点也不够完整,以后将会分三个板块重新回顾一下基本知识点。也总结罗列好,方便以后查阅温故。
1. HTML 基础部分:
先列举一个基本的HTML代码,用于分析:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>页面标题</title>
</head>
<body>
<h1>我的第一个标题</h1>
<p>我的第一个段落。</p>
</body>
</html>
------------------------------------------------------------------------------------------------------------
<!DOCTYPE html> 声明为 HTML5 文档
<html> 元素是 HTML 页面的根元素
<head> 元素包含了文档的元(meta)数据,如 <meta charset="utf-8"> 定义网页编码格式为 utf-8。
<title> 元素描述了文档的标题
<body> 元素包含了可见的页面内容
<h1> 元素定义一个大标题
<p> 元素定义一个段落
1.1 什么是HTML?
HTML是用来描述网页的一种语言,是一种标记语言而非编程语言。HTML的主要是由HTML标签(<标签>内容</标签>)构成的,Web浏览器可以读取理解HTML并展示给客户。
1.2 <!DOCTYPE> 声明:
<!DOCTYPE>声明有助于浏览器中正确显示网页.
一般声明为: ,是HTML5的通用声明。
1.3 中文编码
为防止浏览器出现乱码,我们需要在头部将字符声明为 UTF-8 或 GBK。如:
<meta charset="UTF-8">
2. HTML标签及属性
再说HTML标签之前,不得不说一下HTML属性。因为HTML 元素可以设置属性,HTML 属性是 HTML 元素提供的附加信息。一般描述于开始标签,总是以名称/值对的形式出现,比如:name=“value”。下面列出了适用于大多数 HTML 元素的属性:
属性 | 描述 |
---|---|
class | 为html元素定义一个或多个类名(classname)(类名从样式文件引入) |
id | 定义元素的唯一id |
style | 规定元素的行内样式(inline style) |
title | 描述了元素的额外信息 (作为工具条使用) |
2.1 标题<h1></h1>
标题元素可用于指定内容的标题和子标题。就像一本书的书名、每章的大标题、小标题,等。HTML 文档也是一样。HTML 包括六个级别的标题<h1>---<h6>
2.2 段落<p></p>
<p>
元素是用来指定段落的。通常用于指定常规的文本内容
2.3 文本格式化
2.3.1 粗体 <br></br>
- MDN介绍:**HTML 提醒注意(Bring Attention To)元素(
<b>
)*用于吸引读者的注意到该元素的内容上(如果没有另加特别强调)。这个元素过去被认为是*粗体(Boldface)元素,并且大多数浏览器仍然将文字显示为粗体。尽管如此,你不应将<b>
元素用于显示粗体文字;替代方案是使用 CSSfont-weight
属性来创建粗体文字。
- 不要将
<b>
元素与<mark>,<em>,<strong>
元素混淆。<strong>
元素表示某些重要性的文本,<em>
强调文本,<mark>
元素表示某些相关性的文本,<b>
元素不传达这样的特殊语义信息;仅在没有其他合适的元素时使用它。
2.3.2 斜体 <i></i>
HTML 元素 <i>
用于表现因某些原因需要区分普通文本的一系列文本。例如技术术语、外文短语或是小说中人物的思想活动等,它的内容通常以斜体显示。
2.3.3 强调文本 <em></em>
HTML 着重元素 (<em>
) 标记出需要用户着重阅读的内容, <em>
元素是可以嵌套的,嵌套层次越深,则其包含的内容被认定为越需要着重阅读。通常地,该元素会被浏览器展示为斜体文本,但是,它不应该仅仅用于应用斜体样式;为此目的,请使用 CSS 样式。
2.3.4 <strong></strong>
Strong 元素 (<strong>
) 表示文本十分重要,一般用粗体显示。
2.3.5 <small></small>
HTML 中的元素將使文本的字体变小一号。(例如从大变成中等,从中等变成小,从小变成超小)。在 HTML5 中,除了它的样式含义,这个元素被重新定义为表示边注释和附属细则,包括版权和法律文本。
ect…还有很多不常见的文本标签,具体使用再查询。
2.4 链接 <a href="url"></a>
超链接可以是一个字,一个词,或者一组词,也可以是一幅图像,可以点击这些内容来跳转到新的文档或者当前文档中的某个部分,在标签 中使用了href属性来描述链接的地址。如:
<a href="blog.newqi.cn">牛伟豪的博客</a>
// 使用 target 属性,你可以定义被链接的文档在何处显示。
<a href="blog.newqi.cn" target="_blank">牛伟豪的博客</a> // 此处表示再新标签页打开
<a href="blog.newqi.cn" target="_self">牛伟豪的博客</a> // 表示在当前标签页打开
// 在herf属性中添加id属性链接到想去的位置
<a href="#tips">访问有用的提示部分</a> // 点击链接到(id="tips")的部分
备注:可以使用 href="#top" 或者 href="#" 链接返回到页面顶部。这是HTML5的特性。
2.5 <head></head>
元素包含了所有的头部标签元素。在 元素中你可以插入脚本(scripts), 样式文件(CSS),及各种meta信息。
可以添加在头部区域的元素标签为:
-
<title>
标签定义了不同文档的标题。 -
<base>
标签描述了基本的链接地址/链接目标,该标签作为HTML文档中所有的链接标签的默认链接
<head>
<base href="http://www.runoob.com/images/" target="_blank">
</head>
<link>
标签定义了文档与外部资源之间的关系。通常用于链接到样式表:
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
// 设置网站图标
<link rel="shortcut icon" href="./images/logo128.ico" type="image/x-icon" />
</head>
<style>
标签定义了HTML文档的样式文件引用地址.在<style>
元素中你也可以直接添加样式来渲染 HTML 文档:
<head>
<style type="text/css">
body {
background-color:yellow;
}
p {
color:blue
}
</style>
</head>
<meta>
标签提供了元数据.元数据也不显示在页面上,但会被浏览器解析。META 元素通常用于指定网页的描述,关键词,文件的最后修改时间,作者,和其他元数据。元数据可以使用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他Web服务。
// 为搜索引擎定义关键词:
<meta name="keywords" content="HTML, CSS, XML, XHTML, JavaScript">
// 为网页定义描述内容:
<meta name="description" content="免费 Web & 编程 教程">
// 定义网页作者:
<meta name="牛伟豪" content="Runoob">
// 每30秒钟刷新当前页面:
<meta http-equiv="refresh" content="30">
<script>
标签用于加载脚本文件,如: JavaScript。
2.6 <img></img>
在 HTML 中,图像由<img>
标签定义。<img>
是空标签,意思是说,它只包含属性,并且没有闭合标签。要在页面上显示图像,你需要使用源属性(src)。src 指 “source”。源属性的值是图像的 URL 地址。
语法:
<img src="url" alt="图片无法显示时的用这里的文本替代">
<img src="pulpit.jpg" alt="Pulpit rock" width="304" height="228">
// 指定图像的高度和宽度是一个很好的习惯。如果图像指定了高度宽度,页面加载时就会保留指定的尺寸。如果没有指定图片的大小,加载页面时有可能会破坏HTML页面的整体布局。
// 带有可点击区域的图像映射:
// <img>中的 usemap 属性可引用 <map> 中的 id 或 name 属性(取决于浏览器),所以我们应同时向 <map> 添加 id 和 name 属性。
<img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap">
// <map> 标签用于客户端图像映射。图像映射指带有可点击区域的一幅图像。
<map name="planetmap">
// area 元素永远嵌套在 map 元素内部。area 元素可定义图像映射中的区域。
<area shape="rect" coords="0,0,82,126" href="sun.htm" alt="Sun">
// 矩形:(左上角顶点坐标为(x1,y1),右下角顶点坐标为(x2,y2))
<area shape="circle" coords="90,58,3" href="mercur.htm" alt="Mercury">
// 圆形:(圆心坐标为(X1,y1),半径为r)
<area shape="circle" coords="124,58,8" href="venus.htm" alt="Venus">
//
</map>
2.7 表格元素
表格由
标签来定义。每个表格均有若干行(由 标签定义),每行被分割为若干单元格(由标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。 |
数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。
示例代码:
<table border="1"> // 定义表格 在 HTML5 中,仅支持 "border" 属性,并且只允许使用值 "1" 或 ""。
<tr> // 定义表格的行
<th>Header 1</th> // 表格的表头使用 <th> 标签进行定义。大多数浏览器会把表头显示为粗体居中的文本
<th>Header 2</th>
</tr>
<tr>
<td>row 1, cell 1</td> // 定义表格单元
<td>row 1, cell 2</td>
</tr>
<tr>
<td>row 2, cell 1</td>
<td>row 2, cell 2</td>
</tr>
</table>
<caption>
HTML <caption> 元素 (or HTML 表格标题元素) 展示一个表格的标题,它常常作为 <table> 的第一个子元素出现,同时显示在表格内容的最前面,但是,它同样可以被 CSS 样式化,所以,它同样可以出现在任何一个一个相对于表格的做任意位置。
<table border="1">
<caption>Monthly savings</caption>
<tr>
<th>Month</th>
<th>Savings</th>
</tr>
<tr>
<td>January</td>
<td>$100</td>
</tr>
</table>
<colgroup>, <col>
<table border="1">
<colgroup>
<col span="2" style="background-color:red"> // 对应前两列 span属性规定列组应该横跨的列数
<col style="background-color:yellow"> // 对应最后一列
</colgroup>
<tr>
<th>ISBN</th>
<th>Title</th>
<th>Price</th>
</tr>
<tr>
<td>3476896</td>
<td>My first HTML</td>
<td>$53</td>
</tr>
<tr>
<td>5869207</td>
<td>My first CSS</td>
<td>$49</td>
</tr>
</table>
<thead>,<tbody>,<tfoot>
<thead>
元素应该与 和 元素结合起来使用,用来规定表格的各个部分(表头、主体、页脚)。
通过使用这些元素,使浏览器有能力支持独立于表格表头和表格页脚的表格主体滚动。当包含多个页面的长的表格被打印时,表格的表头和页脚可被打印在包含表格数据的每张页面上。
<thead>
标签必须被用在以下情境中:作为 <table>
元素的子元素,出现在 <caption>、<colgroup>
元素之后,<tbody>
、 <tfoot>
和 <tr>
元素之前。
<table border="1">
<thead>
<tr>
<th>Month</th>
<th>Savings</th>
</tr>
</thead>
<tfoot>
<tr>
<td>Sum</td>
<td>$180</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>January</td>
<td>$100</td>
</tr>
<tr>
<td>February</td>
<td>$80</td>
</tr>
</tbody>
</table>
<td>,<th>,<tr>
<th>,<td>
属性:看不懂不妨动手一试
- colspan: 这个属性包含一个正整数表示了每单元格中扩展列的数量。默认值为
1
。超过 1000 的值被视作 1000 - rowspan: 这个属性包含一个正整数表示了每单元格中扩展列的数量。默认值为
1.
- scope: 这个枚举属性定义了表头元素 (在
<th>
中定义) 关联的单元格。它可能有以下值:row,col,rowgroup,colgroup,auto,scope 属性在普通的 Web 浏览器中没有视觉效果,但可以通过屏幕阅读器使用。scope 属性规定某个表头单元格是否是列、行、列组或行组的表头。
2.8 列表
2.8.1 无序列表
无序列表是一个项目的列表,此列项目使用粗体圆点(典型的小黑圆圈)进行标记。
<ul>
<li>Coffee</li>
<li>Milk</li>
</ul>
2.8.2 有序列表
有序列表也是一列项目,列表项目使用数字进行标记。 有序列表始于 <ol>
标签。每个列表项始于<li>
标签。列表项使用数字来标记。
<ol>
<li>Coffee</li>
<li>Milk</li>
</ol>
2.8.3 自定义列表
自定义列表不仅仅是一列项目,而是项目及其注释的组合。
自定义列表以 <dl>
标签开始。每个自定义列表项以 <dt>
开始。每个自定义列表项的定义以 <dd>
开始。
<dl>
<dt>Coffee</dt>
<dd>- black hot drink</dd>
<dt>Milk</dt>
<dd>- white cold drink</dd>
</dl>
2.9 区块
2.9.1 块区元素
块级元素在浏览器显示时,通常会以新行来开始(和结束)。实例:
,
,
-
,
2.9.2 内联元素
内联元素在显示时通常不会以新行开始。实例: , , ,
标签 | 描述 |
---|---|
<div> | 定义了文档的区域,块级 (block-level) |
<span> | 用来组合文档中的行内元素, 内联元素(inline) |
2.10 表单
表单是一个包含表单元素的区域。
表单元素是允许用户在表单中输入内容,比如:文本域(textarea)、下拉列表(select)、单选框(radio-buttons)、复选框(checkbox) 等等。
- 我们可以使用 标签来创建表单:
<form>
.
input 元素
.
</form>
- 多数情况下被用到的表单标签是输入标签 。输入类型是由 type 属性定义。
属性 type 的类型:
button,checkbox,color,date,datetime-local,email,file,hidden,image,number,password,radio,range,reset,search,submit,tel,text,time,url,week
功能很强大。详情请移至MDN查阅:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input
其他属性:
-
autocomplete:这个属性表示这个控件的值是否可被浏览器自动填充。如果 type 属性的值是 hidden、checkbox、radio、file,或为按钮类型(button、submit、reset、image),则本属性被忽略。可用的值是:off,on,ect…
-
autofocus:这个布尔属性允许您指定的表单控件在页面加载时具有焦点(自动获得焦点),除非用户将其覆盖,例如通过键入不同的控件。文档中只有一个表单元素可以具有 autofocus 属性,它是一个布尔值。如果 type 属性设置为隐藏则不能应用(即您不能自动获得焦点的属性设置为隐藏的控件)。
-
checked:如果该元素的 type 属性的值为 radio 或者 checkbox,则该布尔属性的存在与否表明了该控件是否是默认选择状态。
-
disabled:这个布尔属性表示此表单控件不可用。特别是在禁用的控件中,
click
事件 将不会被分发 。并且,禁用的控件的值在提交表单时也不会被提交。如果 type 属性为 hidden,此属性将被忽略。ect…
HTML5标签:
标签 | 描述 |
---|---|
定义供用户输入的表单 | |
定义输入域 | |
定义文本域 (一个多行的输入控件) | |
定义了 元素的标签,一般为输入标题 | |
定义了一组相关的表单元素,并使用外框包含起来 | |
定义了 元素的标题 | |
定义了下拉选项列表 | |
定义选项组 | |
定义下拉列表中的选项 | |
定义一个点击按钮 | |
指定一个预先定义的输入控件选项列表 | |
定义了表单的密钥对生成器字段 | |
定义一个计算结果 |
2.11 框架
iframe语法:
<iframe src="URL"></iframe> // 该URL指向不同的网页。
iframe - 设置高度与宽度:
<iframe loading="lazy" src="demo_iframe.htm" width="200" height="200"></iframe>
// height 和 width 属性用来定义iframe标签的高度与宽度。
iframe - 移除边框:
<iframe src="demo_iframe.htm" frameborder="0"></iframe>
// frameborder 属性用于定义iframe表示是否显示边框。设置属性值为 "0" 移除iframe的边框:
使用 iframe 来显示目标链接页面:
// iframe 可以显示一个目标链接的页面
<iframe src="demo_iframe.htm" name="iframe_a"></iframe>
<p><a href="https://www.runoob.com" target="iframe_a" rel="noopener">RUNOOB.COM</a></p>
2.12 HTML字符实体
HTML 中的预留字符必须被替换为字符实体。一些在键盘上找不到的字符也可以使用字符实体来替换。
常用:
<
=> <
(less than)
>
=> >
(greater than)
&
=> &
"
=> "
更多请访问:https://www.runoob.com/html/html-entities.html
2.13 HTML 速查
- HTML 基本文档
<!DOCTYPE html>
<html>
<head>
<title>文档标题</title>
</head>
<body>
可见文本...
</body>
</html>
- HTML 基本标签
<h1>最大的标题</h1>
<h2> . . . </h2>
<h3> . . . </h3>
<h4> . . . </h4>
<h5> . . . </h5>
<h6>最小的标题</h6>
<p>这是一个段落。</p>
<br> (换行)
<hr> (水平线)
<!-- 这是注释 -->
- 文本格式化
<b>粗体文本</b>
<code>计算机代码</code>
<em>强调文本</em>
<i>斜体文本</i>
<kbd>键盘输入</kbd>
<pre>预格式化文本</pre>
<small>更小的文本</small>
<strong>重要的文本</strong>
<abbr> (缩写)
<address> (联系信息)
<bdo> (文字方向)
<blockquote> (从另一个源引用的部分)
<cite> (工作的名称)
<del> (删除的文本)
<ins> (插入的文本)
<sub> (下标文本)
<sup> (上标文本)
- 链接
普通的链接:<a href="http://www.example.com/">链接文本</a>
图像链接: <a href="http://www.example.com/"><img decoding="async" src="URL" alt="替换文本"></a>
邮件链接: <a href="mailto:webmaster@example.com">发送e-mail</a>
书签:
<a id="tips">提示部分</a>
<a href="#tips">跳到提示部分</a>
- 图片
<img decoding="async" loading="lazy" src="URL" alt="替换文本" height="42" width="42">
- 列表
<ul>
<li>项目</li>
<li>项目</li>
</ul>
<ol>
<li>第一项</li>
<li>第二项</li>
</ol>
<dl>
<dt>项目 1</dt>
<dd>描述项目 1</dd>
<dt>项目 2</dt>
<dd>描述项目 2</dd>
</dl>
- 表格
<table border="1">
<tr>
<th>表格标题</th>
<th>表格标题</th>
</tr>
<tr>
<td>表格数据</td>
<td>表格数据</td>
</tr>
</table>
- 框架
<iframe src="https:blog.newqi.cn"></iframe>
- 表单
<form action="demo_form.php" method="post/get">
<input type="text" name="email" size="40" maxlength="50">
<input type="password">
<input type="checkbox" checked="checked">
<input type="radio" checked="checked">
<input type="submit" value="Send">
<input type="reset">
<input type="hidden">
<select>
<option>苹果</option>
<option selected="selected">香蕉</option>
<option>樱桃</option>
</select>
<textarea name="comment" rows="60" cols="20"></textarea>
</form>
- 字符实体
< 等同于 <
> 等同于 >
© 等同于 ©
2.14 XHTML
2.14.1 什么是 XHTML?
- XHTML 指的是可扩展超文本标记语言
- XHTML 与 HTML 4.01 几乎是相同的
- XHTML 是更严格更纯净的 HTML 版本
- XHTML 是以 XML 应用的方式定义的 HTML
- XHTML 是 2001 年 1 月发布的 W3C 推荐标准
- XHTML 得到所有主流浏览器的支持
2.14.2 与 HTML 相比最重要的区别:
文档结构:
- XHTML DOCTYPE 是强制性的
- 中的 XML namespace 属性是*强制性的*
- 、、
以及 也是*强制性的*
元素语法:
- XHTML 元素必须正确嵌套
- XHTML 元素必须始终关闭
- XHTML 元素必须小写
- XHTML 文档必须有一个根元素
属性语法:
- XHTML 属性必须使用小写
- XHTML 属性值必须用引号包围
- XHTML 属性最小化也是禁止的