HTML基础笔记(下)
介绍
费曼学习法最重要的部分,即把知识教给一个完全不懂的孩子——或者小白。
为了更好的自我学习,也为了让第一次接触某个知识范畴的同学快速入门,我会把我的学习笔记整理成电子幽灵系列。
提示:文章的是以解释-代码块-解释的结构呈现的。当你看到代码块并准备复制复现的时候,最好先保证自己看过了代码块前后的解释。
<电子幽灵>前端第一件:HTML基础笔记上中,最基础的一部分HTML标签和已经以表格的形式呈现出来了;接下来,将是对一些重要的标签进行详细叙述,并简单介绍头部和CSS。
HTML基础笔记下
本篇笔记主要来源于对 菜鸟教程:HTML教程的学习。
重要标签
a :超链接标签
a用来对文本附加“超级链接”。超级链接是各个网页之间的链接,可以说,没有超级链接,就没有今天的互联网。
<!--该段代码部分由AI Fitten Code生成并已经过验证-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<a id="y1">Hello World</a>
<br/>
<a href="https://www.csdn.com" target="_blank">csdn主页</a>
<br/>
<a href="https://www.baidu.com">
<img src="https://www.baidu.com/img/bd_logo1.png" alt="百度logo"/>
</a>
<br/>
<a href="#y1">这是一个实验性锚点</a>
</body>
</html>
a的常用属性
- href:必需属性,指示链接的目标URL。
- target:指示在哪个地方打开新页面。常用值:
- _self:在当前页面打开
- _blank:在新的空白页面中打开
- _parent:在父窗口中打开
- _top:在当前窗体打开链接,并替换当前的整个窗体(框架页)
- 其他页面名字:输入希望打开的页面名字
- download:指示这是不是下载链接。如果存在则是下载链接。
- id:设置锚点
img:图片标签
img的用处非常简单:插入各种各样的图像文件。
img的常用属性
- src:必需属性,指示图片的来源URL。
- alt:必需属性,指示链接的目标URL。
- height:设置图像高度。
- width:设置图像宽度。
- loading:如果一个HTML中有图片,那么图片文件需要另外加载;loading表示图片应当何时加载。
- eager:立即加载图像(让图像优先级靠前)
- lazy:延迟加载图像(让图像优先级靠后)
table及附属:表格标签
table/thead/tbody/tr/th/td/tfoot等标签用来定义表格基本表格内的元素。
<!--该段代码部分由AI Fitten Code生成并已经过验证-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1">
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>电话</th>
<th>邮箱</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>20</td>
<td>男</td>
<td>13812345678</td>
<td>zhangsan@163.com</td>
</tr>
</tbody>
</table>
</body>
</html>
table及其附属标签、常用属性
- table:定义表格
- border,规定表格有没有边框。只能是border=“1"或border=”"
- thead:定义表格的首部,无任何特殊属性
- tr:定义表格的一行,无任何特殊属性
- th:定义一个表头单元格
- colspan:单元格可横跨的列数
- rowspan:单元格可横跨的行数
- headers:设置该单元格所相关联的一个或多个表头单元格
- scope:规定该单元格是否是一个列/行/列组/行组的表头
- tbody:定义表格的主要部分,无任何特殊属性
- td:定义一个标准单元格
- colspan:单元格可横跨的列数
- rowspan:单元格可横跨的行数
- headers:设置该单元格所相关联的一个或多个表头单元格
- tfoot:定义HTML的页脚,无任何特殊属性
ol/ul/dl:定义列表
ol/ul/dl可以定义有序/无序/自定义列表。
而且,列表之间几乎可以随意嵌套。
<!--该段代码部分由AI Fitten Code生成并已经过验证-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<ol>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ol>
<ul>
<li>tuple</li>
<li>list</li>
<li>dictionary</li>
</ul>
<ol start="4">
<li>Python</li>
<li>Java</li>
<li>C++
<ol reversed>
<li>C#</li>
<li>Swift</li>
<li>Kotlin</li>
</ol>
</li>
</ol>
<dl>
<dt>HTML</dt>
<dd>- Hypertext Markup Language</dd>
<dt>CSS</dt>
<dd>- Cascading Style Sheets</dd>
<dt>JavaScript</dt>
<dd>- Programming Language</dd>
</dl>
</body>
</html>
ol/ul/dl及相关标签、常用属性
- ol:定义有序列表
- start:从哪个数字开始排列
- reversed:这个列表的数字排序是否是倒序
- li:定义列表项
- ul:定义无序列表,无任何特殊属性
- dl:定义描述列表,无任何特殊属性
- dt:定义描述列表项,无任何特殊属性
- dd:对描述列表中的一个项目/名字进行描述,无任何特殊属性。
以上标签实际上已经足够我们构建一个简单的、相对完整的HTML页面了;但实际上还不够。它不够美观、不够具有交互性、也不够结构化、不够一目了然。
正如书本上需要一些插图,HTML上也需要一些色彩、一些只有互联网能做到的奇妙效果。在学习怎样实现它们之前,我们先把目光放回到我们已经忽略很久的head身上。虽然一般的head标签及其内容可以自动填补,但是为了下一步的润色以及对HTML更深刻的理解,学习它是必要的。
head介绍
正如之前在<电子幽灵>前端第一件:HTML基础笔记上中提到的,head的作用是为整个HTML打底。有了它,HTML页面将会变得更加结构化。
head中的标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<base href="https://www.baidu.com/img/" target="_blank"/>
<link rel="stylesheet" type="text/css" href="styles.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style type="text/css">
h1 {color:red;}
p {color:blue;}
</style>
<title>Document</title>
</head>
<body>
<a href="https://www.baidu.com">
<img src="bd_logo1.png" alt="百度logo"/>
</a>
<br/>
<a href="https://www.google.com">这是个通往google的链接,由于base中设定了target="_blank",点击后会在新标签页打开</a>
<br/>
<h1>我是通过style渲染后显示的。</h1>
<p>我也是。</p>
</body>
</html
head中能够容纳的标签很少,不妨直接全部列出。
标签 | 解释 | 常用属性 |
---|---|---|
title | 定义文档标题 | |
base | 为页面上所有相对链接规定默认 URL 或默认目标 | href:规定该页面上所有相对链接的基准URL target:规定在此页面上所有链接在哪里打开 |
link | 定义页面中文档与外部资源的关系,最常用来链接样式表 (只在base中出现,但可以出现任意次数) | href:(必需)外部资源所在URL rel:(必需)当前文档和被链接文档的关系 |
meta | 提供HTML的元数据 | charset:定义文档用哪种字符编码 http-equiv:把content中的内容关联到http头部 name:把content属性关联到一个名称 content:定义和http-equiv或name相关联的元信息 |
script | 定义客户端脚本,或者指向外部脚本文件 | src:指向外部脚本的URL charset:外部脚本中的字符编码 defer:页面完成解析后再执行外部脚本 async:异步执行外部脚本 |
style | 定义HTML文档的样式信息 (可以出现任意次数) | type:规定style的MIME类型 |
对于style、link、script,后续还会有更加详细的细分和更好的用处,但这里先不妨告一段落,基础的HTML学习大概就是这些了。
CSS介绍
在对以上标签的介绍中,我忽略了很多一部分已经被新的标准废弃或者不推荐使用的属性。这是因为,从HTML4开始,有专门的语言来让它变得更加美观,这门语言就是CSS层叠样式表,后面也会专门来讲。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<base href="https://www.baidu.com/img/" target="_blank"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
h1 {color:red;}
p {color:blue;}
</style>
<title>Document</title>
</head>
<body>
<h1>我是通过style渲染后显示的。</h1>
<p>我也是。</p>
<p style="color:green;">我有专门的内联样式。</p>
</body>
</html>
当我们需要对当前页面做出一些渲染的时候,就可以使用CSS:在head中添加style标签,并且在style中规定每个标签中的渲染样式。这就是 内联样式表。
如果需要对单个标签内部做渲染,就可以在标签内部的style标签中使用CSS。这就是 内联样式。
当不同页面有复杂的渲染方式时,就可以用link标签外联外部的.css文件。
style标签有很多种属性,进行不同的CSS渲染方法。
蒸汽时代的人会或许难以置信,在他们那个时代不可或缺的本领,对电气时代的人而言已经失去意义,不再被传承;正如过去的我们看将来。长此以往,人类脱离技术的生存是否会变得越来越艰难呢?还是说,人类以奇迹和智慧创造技术,技术赋予人类以改造世界的能力——这本身就是独属于智人的一种进化?